你应该知道的16个linux命令

时间:2023-03-09 16:02:41
你应该知道的16个linux命令

Linux常用命令很多比如cd、ls、pwd、du、df、tail、head、yum、mv、touch、mkdir、cp、tar等,根据工作内容不同,经常使用的命令也不同,比如运维人员使用tail、head、move、mkdir、cd、ls、cat、tar等,开发人员经常使用grep、mkdir、touch、ls、pwd、cat、echo、rm、tail、wget、find、mv等。下面我将简单说明一些常用的linux

1.cd

cd命令常用于目录之间的切换,如:cd /opt 从当前目录切换到/opt目录下;说到了目录就不得不说一说绝对路径和相对路径了

  • 绝对路径:是指目录下的绝对位置,通常是从根目录开始,windows根目录是指盘符如"C:/"、"D:/"等,linux的根目录是指"/"。绝对路径下切换工作目录例如:cd /opt/abc/
  • 相对路径:是指从当前目录下开始的相对位置,也就是说这个目录在当前目录的什么位置,相对路径的代表"./"和"../"。相对路径下切换目录例如:cd ./abc 表示切换到当前目录下的abc目录,cd ../abc 表示切换到当前目录的上一级目录下的abc目录

示例:

root@jia:~# cd /opt         //此处为绝对路径,切换目录到”/opt“
root@jia:/opt#
root@jia:/opt# cd /         //此处为绝对路径,切换目录到根目录也就是”/“
root@jia:/#
root@jia:/opt# cd ../home/          //此处为相对路径,切换到当前目录的上一级目录中的home目录
root@jia:/home#
root@jia:/home# cd ./jia/           //此处为相对路径,切换到当前目录的jia目录
root@jia:/home/jia#

2.ls

ls命令是用来列出目录中内容以及文件夹,语法: ls 参数 路径/目录名,此处路径可以是绝对路径也可以是相对路径
ls常用参数介绍:

参数 解释
-a 列出目录下所有内容,包括隐藏内容
-A 列出目录下所以内容,包括隐藏内容,但不包括 "." 和 "../"
-b 列出目录本身,即 "."
-f 不排序进行列出
-i 列出目录内容并列出索引号
-l 以长格式进行列出,列出权限、所有者、大小、创建时间等
-n 列出目录同时显示UID和GID和 ”-l” 类似
-R 递归显示目录,也就是同时显示当目录下目录中的内容,依次类推
-S 根据文件大小进行排序
-t 根据时间进行排序

示例:

root@jia:/opt# ls       //列出当前目录内容
root@jia:/opt# ls -a   //列出当前目录下所有内容,包括隐藏目录
root@jia:/opt# ll       //相当于"ls -l",长格式列出
root@jia:/opt# ls / //列出根目录下内容
root@jia:/opt# ls ../   //列出当前目录的上一级目录的内容

3.pwd

pwd命令用于查看当前的工作目录,也就是当前所在目录的路径,此处查看的是绝对路径
示例:

root@jia:/opt# pwd
/opt/
root@jia:/etc/apt# pwd
/etc/apt/

4.touch

touch命令用于创建文件,语法:"touch 参数 文件名称",这里需要注意的是touch命令不是文件编辑器
示例:

root@jia:/opt# touch abc
root@jia:/opt# ls
jia abc
root@jia:/opt# touch test test1 test2       //同时在当前目录下创建多个文件
root@jia:/opt# ls
jia abc test test1 test2
root@jia:/opt# touch /home/test /home/test1 /home/test2     //在home目录下创建多个文件
root@jia:/opt# ls /home/
jia test test1 test2

5.mkdir

mkdir命令用于创建目录,语法:"mkdir 参数 目录名"
常用参数介绍:

参数 解释
-m 创建目录同时设置权限,类似于chmod
-p 递归创建目录
-v 显示创建目录的过程信息

示例:

root@jia:/opt# mkdir test
root@jia:/opt# ls
jia abc test
root@jia:/opt# mkdir -p a/b/c/d     //递归创建
root@jia:/opt# ls -R        //递归列出
jia abc test
./a:
b
./a/b:
c
./a/b/c:
d

6.rm

rm命令用于删除文件,可以删除目录或者文件,语法: "rm 参数 文件名/目录名",在这里提醒大家一句:在正式环境中不建议使用此命令,使用前请三思而行,一不留神就会让你终身难忘的
常用参数介绍:

参数 解释
-f 强制删除,删除时不提示
-i 删除前进行确认
-r 删除目录
-R 递归删除
-v 显示删除过程详细信息

示例:

root@jia:/opt# ls
jia abc test test1 test2
root@jia:/opt# rm test
root@jia:/opt# ls
jia abc test1 test2
root@jia:/opt# rm -r jia
root@jia:/opt# ls
abc test1 test2
root@jia:/opt# rm -rf abc       //删除文件不提示,可删除目录和文件,常用但不建议用
root@jia:/opt# ls
test1 test2

7.cp

cp命令用于复制文件以及目录,语法:cp 参数 源文件 目录/目标文件,默认只能复制文件,复制目录需要加 "-r" 参数
常用参数介绍:

参数 解释
-f 覆盖前不询问
-i 覆盖前进行询问
-l 不进行复制链接文件
-n 不覆盖已有的文件
-r 复制目录
-R 递归进行复制目录下的文件及目录

示例:

root@jia:/opt# cp test1 /etc/       //复制当前目录下test1到/etc目录下
root@jia:/opt# ls /etc/
....忽略其他        test1
root@jia:/opt# cp -r abc /etc/      //复制目录下abc目录到/etc目录下

8.mv

mv命令用于移动文件及目录,语法:mv 参数 源文件 目标目录,这里为大家提供一个mv的技巧,mv不但可以移动文件还可以对文件进行重命名,当源文件目录和目标目录相同时会将文件进行改名
常用参数介绍:

参数 解释
-f 覆盖前不进行询问
-i 覆盖前进行询问
-n 移动时不进行覆盖

示例:

root@jia:/opt# mv test1 /       //将文件test1移动到根目录
root@jia:/opt# ls
test2
root@jia:/opt# mv test2 test1       //重命名test2为test1
root@jia:/opt# ls
test1

9.cat

cat命令用于显示文件所有内容,语法:cat 参数 文件
常用参数介绍:

参数 解释
-b 对于非空行输出行进行编号
-E 在行结束最后加$符号
-n 对所有行输出进行编号
-s 多行空行将以一行空行进行显示

示例:

root@jia:/opt# cat test2
文件内容
root@jia:/opt# cat >>test2<<EOF     //特殊用法cat >>文件名<<EOF ......EOF表示向文件中增加内容
>输入行1
>输入行2
>输入行3
EOF

10.head

head命令用于显示文件内容,用于查看文件前几行内容,语法:head 参数 文件
示例:

root@jia:/opt# head -100 test1   //显示文件前100行内容
文件前一百行内容
root@jia:/opt# head -10 test1   //显示文件前10行内容
文件前10行内容

11.tail

tail命令用于动态显示文件内容,用于查看文件后几行内容,与head想反一个前几行一个后几行,语法:tail 参数 文件
常用参数介绍:

参数 解释
-f 实时显示文件内容,也就是动态查看文件内容
-n 输出文件的多少行

示例:

root@jia:/opt# tail -100 test1      //显示test1文件中后100行内容
后100行内容
root@jia:/opt# tail -f test1        //动态显示文件内容,多用于日志查询,以及日志排测,强烈建议运维人员记住

12.df

df命令用于查看磁盘分区,语法:df 参数 ,常用参数组合:df -lh
常用参数介绍:

参数 介绍
-a 显示所有文件系统的使用情况
-h 以可读的大小单位进行显示
-H 以可读大小单位显示,但不以1024计算,以1000进行计算
-i 显示文件系统的索引信息
-k 以K为单位进行显示文件系统使用清空
-t 显示指定文件系统类型的信息
-T 只显示文件系统类型
-l 以长格式显示文件系统信息

示例:

root@jia:/opt# df -lh       //查看文件系统的详细信息
Filesystem      Size  Used Avail Use% Mounted on
udev            921M     0  921M   0% /dev
tmpfs           193M  944K  192M   1% /run
/dev/sda2        98G  3.7G   90G   4% /
tmpfs           962M     0  962M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           962M     0  962M   0% /sys/fs/cgroup
/dev/loop0       90M   90M     0 100% /snap/core/7917
/dev/loop1       55M   55M     0 100% /snap/lxd/12211
tmpfs           193M     0  193M   0% /run/user/0

13.du

du命令常用于查看磁盘使用量,查看文件目录及文件的大小,语法:du 参数,常用命令:du -sh
常用参数介绍:

参数 解释
-a 输出所有文件磁盘大小,包括目录
-c 显示总大小
-h 以可读的方式显示文件大小
-k 以K为单位显示文件大小
-m 以M为单位显示文件大小
-S 不显示子目录的大小
-s 显示查询文件大小的总和
root@jia:/opt# du -sh           //显示查询文件的总大小
5.2M    .

14.echo

echo命令用于打印字符,语法:echo 字符
示例:

root@jia:/opt# echo 123
123
root@jia:/opt# echo abc > test1     //输出字符到test1文件,覆盖文件
root@jia:/opt# echo 123 test1       //输出字符到test1文件,增加到文件

15.find

find命令用于文件查找或者目录查找,语法:find 路径 参数 参数值
常用参数介绍:

参数 解释
- -name 以名称进行查询文件
-user 安照用户进行查询文件
-group 按照属组查询文件
-mtime 安照更改时间进行查询文件
-ctime 安照创建时间进行查询文件
-type 按照文件类型进行查询
-size 按照文件大小进行查询
-prune 忽略某个目录进行查询
-depth 查找完当前目录再查询子目录

示例:

root@jia:/opt# find ./ -name “*.txt” | xargs rm     //删除当前目录下所有以txt结尾的文件
root@jia:/opt# find   /home   -size   +512k                //查大于512k的文件
root@jia:/opt# find   /home   -size   -512k               //查小于512k的文件
root@jia:/opt# find   /home   -links   +2               // 查硬连接数大于2的文件或目录
root@jia:/opt# find   /home   -perm   0700                //查权限为700的文件或目录
root@jia:/opt# find    /   -amin    -10     //查找在系统中最后10分钟访问的文件
root@jia:/opt# find    /   -atime   -2        //查找在系统中最后48小时访问的文件
root@jia:/opt# find    /   -empty             //查找在系统中为空的文件或者文件夹
root@jia:/opt# find    /   -group   cat       //查找在系统中属于 groupcat的文件
root@jia:/opt# find    /   -mmin   -5         // 查找在系统中最后5分钟里修改过的文件
root@jia:/opt# find    /   -mtime   -1       //查找在系统中最后24小时里修改过的文件
root@jia:/opt# find    /   -nouser           //查找在系统中属于作废用户的文件
root@jia:/opt# find    /   -user    fred     //查找在系统中属于FRED这个用户的文件

16.wget

wget是一个下载文件的工具,它用在命令行下,语法:wget 参数 连接地址
常用参数介绍:

参数 解释
-b 后台进行下载
-q 静默下载
-v 下载时显示详细信息
-nc 已下载文件不重复下载文件
-c 继续下载以下载部分的文件
-S 打印服务器的响应
-4 仅连接ipv4的连接
-6 仅连接ipv6的连接
-nd 不创建目录
-x 强制创建目录
-nH 不要创建主目录
--http-user=user
--http-password=pass 设置http用户密码
--secure-protocol=auto 选择安全协议进行下载,参数有auto、SSLv2、SSLv3、TLS v1
--ftp-user=user 设置ftp用户名
--ftp-password=pass 设置ftp密码
-r 递归进行下载

示例:

root@jia:/opt# wget http://nginx.org/download/nginx-1.17.6.tar.gz       //下载nginx到当前目录,文件名为nginx-1.17.6.tar.gz