###工作中经常用到的命令和解释

一、登录相关

1.ssh

ssh [选项] [用户@]主机 [命令]

常用选项

-p 端口

###远程访问192.168.111.131的服务器
ssh -p 15755 ubuntu@192.168.111.131

###远程访问192.168.111.131的服务器并执行命令 df -Th
ssh -p 15755 ubuntu@192.168.111.131 "df -h"

二、文件相关

1.scp&cp(常用)

        复制文件到另一个机器/目录下

  • -r 递归
  • -a 保留特性
  • -P 端口(scp)
##复制/home/test/下的文件到特定ip的/tmp下,赋予用户为ubuntu
scp -r -P <目的端口> /home/test/* ubuntu@ip:/tmp

###复制/home/test/下的文件到data下
cp -r /home/test/* /data

###复制/home/test/下的文件到data下,并保留特性
cp -ar /home/test/* /data

###复制/home/test/a.log到data
cp  /home/test/a.log /data

2.mv(常用)

      移动文件到另一个目录下

##移动lisj到/data下
mv /home/lisj /data

###移动lisj下的内容到/data
mv /home/lisj/* /data

3.rm(常用)

       删除文件  

  • -r 递归删除
  • -f 忽略不存在的文件,不警告
###删除文件a.log
rm a.log

###删除文件夹(递归)
rm -r /data

##忽略不存在的文件,删除文件夹(递归)
rm -rf /data

4.touch(常用)

        创建文件

###创建文件a.log
touch a.log

5.mkdir(常用)

       创建文件夹

mkdir <目录名> 创建目录

##创建test1 test2
mkdir test1  test2

###创建test1,在test1 里创建test2
mkdir -p test1/test2

###创建test1,在test1 里创建test2,test3
mkdir -p test1/{test2,test3}

6.tar(常用)

        对文件进行压缩,解压

  •  -z 通过gzip的方式进行压缩,解压
  •   -x 解打包、压缩的功能
  •   -c 新建压缩文件
  •    -v 处理解压缩的文件
  •    -C 解压到指定目录      
###压缩文件data
tar -zcvf aa.tar.gz /data

##解压文件aa.tar.gz
tar -zxvf aa.tar.gz

###解压文件aa.tar.gz到指定目录/home
tar -zxvf aa.tar.gz -C /home

7.zip&unzip

###安装zip(ubuntu版本)
apt install zip

###将指定的文件和目录压缩成a.zip
zip a.zip /data  

###解压a.zip
unzip a.zip          

8.du(常用)

        查看系统分区信息,常用如下

###查看文件下的硬盘占用
du -sh *

9.fdisk

         查看/设置硬盘分区,常用如下(主要用于新磁盘添加),后续会单独出一个磁盘添加的情况,踩雷过!!!

fdisk -l

10 mount&unmount

        挂载/取消挂载磁盘到指定目录,注意是临时挂载,永久挂载需要在/etc/fstab补充,避免踩雷。

###挂载磁盘到/data
mount /dev/sdb /data

###卸载磁盘挂载
umount /dev/sdb

三、查询相关

1.vim&&vi(常用)

        查看文件的详细信息,因为vim可以用不同的颜色来加亮,更多的使用vim,是vi的升级版本,但需要安装。

打开文件后后常用的操作

  • -i 编辑模式
  • :q 不保存退出 
  • :q! 保存强制退出
  • :wq 保存退出     
  • yy 复制当前光标所在的行
  • nyy 复制当前光标所在的行n次
  • p:粘贴到光标的后面
  •  P(大写):粘贴到光标的前面

2.cat(常用,尤其容器里)

        查看文件不做改动

3..tail&&head(常用)

  tail  查看尾部的内容 (一般用于查看日志)

head 查看头部的内容 (一般看文件)

###查看 aa.txt文件头50行
head -n 50 aa.txt

###查看 aa.log最新的记录
tail -f aa.log

###查看 aa.log最新50行的记录
tail -50f aa.log

4.sort

        对文件内容按行排序并输出

  • -n 按数值大小排序
  • -r 以相反顺序排序
  • -t 指定字段分隔符
  • -k 按指定字段范围排序
  • -c 检查是否已排序,未按照会报错
# ":"分割,第三个 排序/etc/passwd文件,并检查
sort /etc/passwd  -t: -k3 -c

5.ls(常用)

ls 查看目录中的文件ls -l 显示文件和目录的详细资料ls -a 列出全部文件,包含隐藏文

6.cd(常用)

          切换当前目录

###切换到home
cd /home

###切换到上一级目录
cd ..

###切换上两级目录
cd ../..

###切换到头
cd 

###切换到根目录
cd /

7.ps(常用)

        查看进程

  • -e 选择所有进程
  • -a 显示与终端关联的所有进程,包括其他用户的进程。一般与 x 选项联用,用于显示所有进程
  • -x 显示与终端无关的所有进程,包括有效用户的进程
  • -f 树状结构展示

        个人常用如下:

ps -ef

8.grep&sed&awk(常用)

 详细见另一篇博客:linux-基础篇-三剑客grep,sed,awk(详细且常用)https://blog.csdn.net/j_0517/article/details/156646038?spm=1011.2415.3001.5331

查看前五行
head -n 5 nginx.conf

9.which

        查询PATH下的信息,主要就看个jdk

which ls

which java

10.find(常用)

       查询系统中想要的文件

##在当前目录下查询名字是aaa的文件
find ./* -name "aaa" 

###找当前目录大于1MB的文件
find ./* -size +1M 

###找当前目录下文件类型是目录的
find ./* -type d 

###找当前目录下文件类型是文件的
find ./* -type f

# 找目录下30天未修改的文件
find ./* -mtime +30  

# 找目录下30天未修改的文件并删除
find ./*  -mtime +30  -exec rm {} \



11.diff(不咋用到)

        文本对比工具

12.wc

        统计字数,字节数,行数

  •      -l(小写的L)统计行数
  •      -w 统计字数
  •      -c 统计字节数
###统计1.txt 多少行
wc -l 1.txt

13.kill(常用)

         杀死进程,常用:

kill -9 <pid>

        9的来源(SIGKILL强制杀死)

14.clear

         清空当前页面(就是看着乱了清理一下)

15 xargs     

        xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。

        xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行

命令格式:

somecommand |xargs -item  command
  • -a file 从文件中读入作为 stdin
  • -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
  • -p 当每次执行一个argument的时候询问一次用户。
  • -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
  • -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
  • -L num 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
  • -x exit的意思,主要是配合-s使用。。

实际使用:

更多地用于关联查询(很多命令不支持|管道来传递参数)

### -d分割(按照“X”) -n 一行2个,不写默认全行
# echo "nameXnameXnameXname" | xargs -dX -n2
name name
name name


###查找并统计(find、wc、xargs)
find . -type f -name "*.txt" -print0 | xargs -0 wc -l

四、系统相关

1.chown(常用)

        改变文件的所有者

###改变1.txt的所属用户
chown test 1.txt

###改变2.txt的所属用户和所属用户组
chown test:test 2.txt

###改变/data的所属用户
chown test /data

###改变/data及/data下的所属用户
chown -R test:test /data

2.chmod(安全必备)

        修改文件所属用户、用户组、其他用户权限

#r记作4,w记作2,x记作1
#读read  写write 执行execute

#将file文件权限改为755
chmod 755 file.txt

#将data文件夹权限改成755
chmod 755 /data

#将data文件夹及以下的所有文件权限改成755
chmod -R 755 /data

红色 rwx是用户(读写执行都可),蓝色rx是用户组(读和执行),黄色rx是其他用户(读和执行)

3.adduser&deluser&addgroup&delgroup

  • adduser <用户名>  添加用户
  • deluser <用户名> 删除用户(默认会残留用户的家目录,在/home下)

  • addgroup <组名> 添加组
  • delgroup <组名>  删除组

4.passwd(常用)

        修改用户密码(比如ubuntu默认没有root,需要sudo su - 后修改)

###修改root密码
passwd root

5.hostname&&hostnamectl(常用)

    主机名查看和修改

##查看当前主机名
hostname

###修改主机名
hostnamectl set-hostname 新主机名

6.shutdown

shutdown -h now 即刻关机
shutdown -h 10 10分钟后关机
shutdown -h 11:00 11:00 关机
shutdown -h +10 预定时间关机(10分钟后关机)
shutdown -c 取消指定时间关机
shutdown -f now 重启
shutdown -r 10 10分钟后重启
shutdown -r 11:00  定时重启
reboot 重启
init 6 重启
init 0 即刻关机

7.top&&free

       参考另一个博客linux-基础篇-top&free(常用) .https://blog.csdn.net/j_0517/article/details/156677197?spm=1001.2014.3001.55028

8.date

        获取本机时间

#获取当前时间
date

#修改时间为2026年1月12日 9点30
date -s "20260112 09:30:00"

#当前时间以年月日时分展示(格式化日期)
date "+%Y-%m-%d-%H-%M"
-Y 当前年份 2026
-y 年份的后两位 26
-m 月份  1月
-M 分钟  30分
-d 日    12日
-D 日期 =%m%d%y 01/12/26
-H 时钟

五、网络相关

1.ifconfig&&ip addr

        查看/设置系统IP地址(基本桌面版都能默认,主要查看)--需要设置的可以留言出一版

        查看使用ip addr也可以实现

2.ping(常用)

       本机访问某个ip是否通信,常用如下

##访问192.168.111.179的ip
ping 192.168.111.179 

3.telnet(常用)

       本机访问某个ip的特定端口是否通信

###访问192.168.111.179的80端口
telnet 192.168.111.179 80

参考:

https://www.runoob.com/linux/linux-comm-xargs.html

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐