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用户名 |
--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