帮助信息类
man 指令
基本语法
- man [命令或配置文件]
- 功能描述:获得帮助信息
举例:查看 ls 命令的帮助信息
[root@localhost ~]# man ls
细节说明
基本语法
- help [命令]
- 功能描述:获得 shell 内置命令的帮助信息
举例:查看 cd 命令的帮助信息
[root@localhost ~]# help cd
文件目录类
pwd 指令
- 基本语法
- pwd [目录]
- 功能描述:显示当前工作目录的绝对路径
举例:查看 /root 目录的当前路径
[root@localhost ~]# pwd /root
ls 指令
- 基本语法
- ls [参数] [目录或是文件]
- 常用参数
- -a :显示当前目录所有的文件和目录,包括隐藏文件
- -l :以列表的方式显示所有信息
举例:以列表形式查看当前目录的所有内容信息
[root@localhost ~]# ls -al
cd 指令
- 基本语法
- cd [参数]
- 功能描述:切换到指定目录
- 理解绝对路径和相对路径
- 常用参数
- cd ~ / cd :回到当前用户的家目录
- cd . . :回到当前目录的父目录
- cd . :表示当前目录
举例:从 /root 目录转到 /home 目录
[root@localhost ~]# cd ../home
mkdir 指令
- 基本语法
- mkdir [参数] [目录]
- 功能描述:创建目录
- 常用参数
- -p :创建多级目录
举例:创建一个目录 mmp
[root@localhost home]# mkdir mmp
举例:创建多级目录 mama/baba[root@localhost home]# mkdir -p mama/baba
- -p :创建多级目录
rmdir 指令
- 基本语法
- rmdir [目录]
- 功能描述:删除一个空目录,非空目录无法删除
举例:删除一个空目录 mmp
[root@localhost home]# rmdir mmp
额外:要删除一个非空目录 mmp 可以使用[root@localhost home]# rm -rf mmp
touch 指令
- 基本语法
- touch [文件]
- 功能描述:创建空文件
举例:在/home 目录下创建一个空文件 hello.txt
[root@localhost home]# touch hello.txt
cp 指令
- 基本语法
- cp [参数] [目录]
- 功能描述:拷贝文件到指定目录
- 常用参数:
- -r 递归复制整个文件夹
- 举例:将 /home/hello.txt 拷贝到 /home/itfish 目录下
[root@localhost home]# cp hello.txt /home/itfish
- 举例:将 /home/itfish 整个目录拷贝到 /opt
[root@localhost home]# cp -r itfish /opt
- 注意:强制覆盖不提示的办法
\cp [文件] [目录]
\cp -r [目录] [目录]
- -r 递归复制整个文件夹
rm 指令
- 基本语法
- rm [参数] [文件或目录]
- 常用参数
- -r :递归删除整个文件夹
- -f :强制删除不提示
- 举例:将 /home/hello.txt 删除
[root@localhost home]# rm hello.txt
rm:是否删除普通空文件 "hello.txt"?y
- 举例:递归删除整个文件夹 /home/bbb
[root@localhost home]# rm -rf ddd
- 使用细节强制删除不提示的方法:
带上 -f 参数即可
mv 指令
- 基本语法
- mv [参数] [文件或目录] [文件或目录]
- 功能描述:重命名或移动文件
- 常用参数
- -f:强制移动不提示
- 举例:将 /home/cat.txt 文件 重新命名为 pig.txt
[root@localhost home]# mv cat.txt pig.txt
- 将 /home/pig.txt 文件移动到 /root 目录下
[root@localhost home]# mv pig.txt /root
- 移动整个目录 , 比如将 /opt/bbb 移动到 /home
[root@localhost opt]# mv /opt/bbb /home
- -f:强制移动不提示
cat 指令
- 基本语法
- cat [参数] [文件]
- 常用参数
- -n :显示行号
- 举例:查看 /etc/profile 文件内容,并显示行号
[root@localhost home]# cat -n /etc/profile
- 举例:用管道命令让浏览更方便
[root@localhost home]# cat -n /etc/profile | more
- -n :显示行号
more 指令
- 介绍
- more 指令是一个基于 VI 编辑器的文本过滤器
- 注意:只支持向下翻,需要将文件全部加载后才能使用
基本语法
more [文件]
- 举例:采用 more 查看文件 /etc/profileless
[root@localhost home]# more /etc/profile
交互指令 | 空格键 | 向下翻一页 | | —- | —- | | Enter | 向下翻一行 | | q | 立即离开more | | Ctrl + F | 向下滚动一屏 | | Ctrl + B | 向上滚动一屏 | | = | 输出当前行的行号 | | :f | 输出文件名和当前行的行号 |
less 指令
- 基本语法
- less [文件]
- 注意:less支持向下向上翻,不是一次将整个文件加载之后再显示所以比more强大,可以适用于大型文件
- 举例:采用 less 查看一个文件 /opt/text.txt
[root@localhost home]# less /opt/text.txt
空格键 | 向下翻一页 |
---|---|
[ 👆 ] | 向下翻 |
[ 👇 ] | 向上翻 |
/ | 向下搜寻 |
? | 向上搜寻 |
n / N | 向下查找 / 向上查找 |
q | 离开less这个程序 |
echo 指令
- 基本语法
- echo [参数] [输出内容]
- 功能描述:输出内容到控制台
- 举例:使用 echo 指令输出环境变量, 比如输出 $PATH或$HOSTNAME
[root@localhost home]# echo $PATH
[root@localhost home]# echo $HOSTNAME
- 举例:使用 echo 指令输出 hello,world!
[root@localhost home]# echo hello,world!
head 指令
- head [参数] [文件]
- 功能描述:用于显示文件的开头部分内容
- 基本参数
- head [文件] 默认查看文件头 10 行内容
- head -n 5 [文件] 查看文件头 5 行内容
- 举例:查看/etc/profile 的前面 5 行代码
[root@localhost home]# head -n 5 /etc/profile
tail 指令
- tail [参数] [文件]
- 功能描述:用于输出文件中尾部的内容
- tail [文件] 查看文件尾 10 行内容
- tail -n 5 [文件] 查看文件尾 5 行内容
- tail -f [文件] 实时追踪该文档的所有更新
- 注意监控时可以按 退出
- 举例:查看/etc/profile 最后 5 行的代码
[root@localhost home]# tail -n 5 /etc/profile
- 举例:实时监控 mydate.txt 文件,可以实时追加内容观察变化
[root@localhost home]#tail -f /home/mydate.txt
> 指令 和 >> 指令
重定向(覆盖写)
- ls -l >文件
- 功能描述:列表的内容写入文件 a.txt 中
- cat 文件 1 > 文件 2
- 功能描述:将文件 1 的内容覆盖到文件 2 echo
- ls -l >文件
追加(追加写)
- ls -al >>文件
- 功能描述:列表的内容追加到文件 aa.txt 的末尾
- “内容”>> 文件
- 功能描述:追加
举例:将 /home 目录下的文件列表 写入到 /home/info.txt 中, 覆盖写入 [如果 info.txt 没有,则会创建]
[root@localhost home]# ls -l /home/ > /home/info.txt
举例:将当前日历信息 追加到 /home/mycal 文件中[root@localhost home]# cal >> /home/mycal
- 功能描述:追加
举例:将 /home 目录下的文件列表 写入到 /home/info.txt 中, 覆盖写入 [如果 info.txt 没有,则会创建]
- ls -al >>文件
ln 指令
- ln 指令——-软链接(符号链接)
- 功能描述:类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
- 常用参数
- ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接
细节说明:当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录。
举例:在/home 目录下创建一个软连接 myroot,连接到 /root 目录
[root@localhost home]# ln -s /root/ /home/myroot
举例:删除软连接 myroot[root@localhost home]# rm /home/myroot
注意:软链接是一个特殊的文件文本,所以用rm删除并且
末尾不能这样写
/home/myroot/
否则会被视为一个目录history 指令
history [参数]
- 功能描述:查看已经执行过历史命令
- 举例:显示所有的历史命令
[root@localhost home]# history
- 举例:显示最近使用过的 10 个指令
[root@localhost home]# history 10
- 举例:执行历史编号为 1 的指令
[root@localhost home]# !1
who指令
基本语法
useradd—-添加用户
- useradd -g [组] [用户]
userdel—-移去用户
- userdel -r [用户] 删除用户及其主目录
usermod—-移动用户
- usermod -g [组] [用户] 移动用户到其他组
组
- groupadd—-添加组
- groupdel—-移去组
用户和组相关文件
- etc/passwd 用户配置文件
- etc/shadow 用户口令配置文件
- etc/group 组配置文件
-
时间日期类
date 指令
- date [参数]
- 功能描述:显示系统时间
- 常用参数—-注意大小写
- date 直接显示所有时间
- date +%Y 只显示年
- date +%m 只显示月
- date +%d 只显示日
- date “+%Y-%M-%D” 显示年月日
- date “+%Y-%m-%d %T:%M:%S” 显示年月日及时分秒
- date -s [想改的时间] 重新设置系统时间
举例:将系统时间设置成 2020-11-03 20:02:10
[root@localhost ~]# date -s "2020-11-03 20:02:10"
cal 指令
- cal [参数]
- 功能描述:查看日历,日历的英语calendar
- 常用参数
- cal 显示本月日历
- cal [年] 显示此年日历
举例:查询2021年日历
[root@hostlocal ~]# cal 2021
搜索查找类
find 指令
- find [目录] [参数] [参数]
- 功能描述:递归遍历目录,最好不要直接从根目录开始遍历
- 常用参数
- find [目录] -name [文件名] 查询当前目录下叫这个文件名的文件
- find [目录] -user [用户名] 查询当前目录下所有与此用户有关的文件
- find [目录] -size [+n /-n / n] 查询当前目录下所有满足这种规格大小的文件
- 举例:根据名称查找/home 目录下的 hello.txt 文件
[root@hostlocal ~]# find /home -name hello.txt
- 举例:查找/opt 目录下,用户名称为 nobody 的文件
[root@hostlocal ~]# find /opt -user nobody
- 举例:查找整个 linux 系统下大于 200M 的文件(单位k,M,G)
[root@hostlocal ~]# find / -size +200M
locate 指令
locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻
locate 搜索文件 特别说明 由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
使用 locate 指令快速定位 hello.txt 文件所在目录
[root@localhost home]# updatedb [root@localhost home]# locate hello.txt /home/hello.txt
which 指令
可以查看某个指令在哪个目录下
which [指令名称]
查看ls 指令在那个目录
[root@localhost home]# which ls alias ls=’ls —color=auto’ /usr/bin/ls
grep 指令和管道符号 |
grep 过滤查找 , 管道符 |,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep [选项] 查找内容 源文件 常用选项 -n # 显示匹配行及行号 -i # 忽略字母大小写
在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号
[root@localhost home]# cat /home/hello.txt |grep “yes” yes [root@localhost home]# grep -n “yes” /home/hello.txt 1:yes
压缩和解压类
gzip/gunzip 指令
gzip 用于压缩文件, gunzip 用于解压
gzip 文件 # 功能描述:压缩文件,只能将文件压缩为*.gz 文件 gunzip 文件.gz # 功能描述:解压缩文件命令
gzip 压缩, 将 /home 下的 hello.txt 文件进行压缩
[root@localhost home]# gzip /home/hello.txt [root@localhost home]# ll 总用量 8 -rw-r—r—. 1 root root 34 7月 4 22:42 hello.txt.gz drwx———. 3 tom tom 4096 4月 11 2018 tom
gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩
[root@localhost home]# gunzip /home/hello.txt.gz [root@localhost home]# ll 总用量 8 -rw-r—r—. 1 root root 4 7月 4 22:42 hello.txt drwx———. 3 tom tom 4096 4月 11 2018 tom
zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] XXX.zip 将要压缩的内容 # 功能描述:压缩文件和目录的命令 unzip [选项] XXX.zip # 功能描述:解压缩文件 zip 常用选项 -r:递归压缩,即压缩目录 unzip 的常用选项 -d<目录> :指定解压后文件的存放目录
将 /home 下的所有文件/文件夹进行压缩成 myhome.zip
[root@localhost home]# zip -r myhome.zip /home/ adding: home/ (stored 0%) adding: home/hello.txt (stored 0%) adding: home/tom/ (stored 0%) adding: home/tom/.mozilla/ (stored 0%) adding: home/tom/.mozilla/extensions/ (stored 0%) adding: home/tom/.mozilla/plugins/ (stored 0%) adding: home/tom/.bash_logout (stored 0%) adding: home/tom/.bash_profile (deflated 21%) adding: home/tom/.bashrc (deflated 23%) [root@localhost home]# ll 总用量 12 -rw-r—r—. 1 root root 4 7月 4 22:42 hello.txt -rw-r—r—. 1 root root 1847 7月 4 22:51 myhome.zip drwx———. 3 tom tom 4096 4月 11 2018 tom
将 myhome.zip 解压到 /opt/tmp 目录下
[root@localhost home]# mkdir /opt/tmp [root@localhost home]# unzip -d /opt/tmp/ /home/myhome.zip Archive: /home/myhome.zip creating: /opt/tmp/home/ extracting: /opt/tmp/home/hello.txt creating: /opt/tmp/home/tom/ creating: /opt/tmp/home/tom/.mozilla/ creating: /opt/tmp/home/tom/.mozilla/extensions/ creating: /opt/tmp/home/tom/.mozilla/plugins/ extracting: /opt/tmp/home/tom/.bash_logout inflating: /opt/tmp/home/tom/.bash_profile inflating: /opt/tmp/home/tom/.bashrc [root@localhost home]# cd /opt/tmp/ [root@localhost tmp]# ll 总用量 4 drwxr-xr-x. 3 root root 4096 7月 4 22:51 home
tar 指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
tar [选项] XXX.tar.gz 打包的内容 # 功能描述:打包目录,压缩后的文件格式.tar.gz 常用选项 -c # 产生.tar打包文件 -v # 显示详细信息 -f # 指定压缩后的文件名 -z # 打包同时压缩 -x # 解包.tar文件
压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
[root@localhost home]# tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt tar: 从成员名中删除开头的“/” /home/pig.txt /home/cat.txt [root@localhost home]# ls cat.txt hello.txt myhome.zip pc.tar.gz pig.txt tom
将/home 的文件夹 压缩成 myhome.tar.gz
[root@localhost home]# tar -zcvf myhome.ter.gz /home/ tar: 从成员名中删除开头的“/” /home/ /home/myhome.zip /home/hello.txt /home/tom/ /home/tom/.mozilla/ /home/tom/.mozilla/extensions/ /home/tom/.mozilla/plugins/ /home/tom/.bash_logout /home/tom/.bash_profile /home/tom/.bashrc /home/cat.txt /home/pc.tar.gz /home/pig.txt /home/myhome.tar.gz [root@localhost home]# ls cat.txt hello.txt myhome.tar.gz myhome.ter.gz myhome.zip pc.tar.gz pig.txt tom
将 pc.tar.gz 解压到当前目录
[root@localhost home]# tar -zxvf pc.tar.gz home/pig.txt home/cat.txt [root@localhost home]# ls cat.txt hello.txt home myhome.tar.gz myhome.zip pc.tar.gz pig.txt tom
将myhome.tar.gz 解压到 /opt/tmp2 目录下
[root@localhost home]# tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 home/ home/myhome.zip home/hello.txt home/tom/ home/tom/.mozilla/ home/tom/.mozilla/extensions/ home/tom/.mozilla/plugins/ home/tom/.bash_logout home/tom/.bash_profile home/tom/.bashrc home/cat.txt home/pc.tar.gz home/pig.txt [root@localhost home]# cd /opt/tmp2 [root@localhost tmp2]# ll 总用量 4 drwxr-xr-x. 3 root root 4096 7月 4 23:02 home [root@localhost tmp2]# cd home/ [root@localhost home]# ls cat.txt hello.txt myhome.zip pc.tar.gz pig.txt tom