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