Linux 实用指令
注:整理自韩顺平老师的Linux课程,B站视频地址为:https://www.bilibili.com/video/BV1Sv411r7vd
- 指定运行级别
- 多用户有网络服务(3)multi-user.target
- 图形界面(5)graphical.target
获取系统默认运行级别:systemctl get-default
设置系统运行级别为图形界面:systemctl set-default graphical.target
- 帮助指令
- man [命令或配置文件]
man ls
(查看完以后使用q键退出) - help 命令
help cd
- man [命令或配置文件]
- 文件目录类
- pwd
显示当前工作目录的绝对路径
绝对路径:从根目录/开始定位
相对路径:相对于当前所在位置的定位 - ls [选项] [目录或文件]
ls -al: 显示包括隐藏文件的所有文件内容,并以列表的方式呈现
ls -lh: 按照k,M,G的方式显示文件大小 - cd [参数]
切换到指定目录,既可以使用绝对路径,也可以使用相对路径,具体情况具体分析
cd ~: 回到自己家目录,也就是登录时使用的用户名,root登录家目录是/root,tom登录家目录是/home/tom
cd: 回到自己家目录,可以使用pwd查看
cd ..:回到当前目录的上一级目录
注:路径最开始的/代表根目录,路径最后使用/代表该路径是一个目录,如果不带/说明该路径是一个文件 - mkdir [-p] 要创建的目录
mkdir /home/dog:创建一个目录
mkdir -p /home/animal/tiger:创建多级目录 - rmdir [-rf] 要删除的空目录
r: 递归,f:强制
rmdir /home/dog: 删除dog这个空目录 - rm [-rf] 删除文件或目录
-r:递归删除整个文件夹,-f: 强制删除不提示
rm -rf /home/animal: 强制删除animal这个非空目录 - touch 文件名称
在当前目录下,创建一个空文件
touch hello.txt - cp [-r] 源文件 指定目录
cp /home/hello.txt tom/:将hello.txt拷贝到tom目录下
cp -r /home/tom /opt/:递归将tom整个文件夹拷贝到opt目录下
\cp -r /home/tom /opt/: 拷贝时强制覆盖不提示,否则需要一个一个确认是否覆盖 - mv
重命名或移动文件与目录
mv hello.txt helloworld.txt: 重命名hello.txt为helloworld.txt
mv /home/pig.txt /root: 将home目录下的pig.txt文件夹移到root目录下,是移动而不是复制
mv /home/pig.txt /root/dog.txt: 将home目录下的pig.txt文件夹移到root目录下并重命名为dog.txt - cat [-n] 文件
查看文件内容,只能浏览文件不能修改,vim可以创建文件并编辑
-n: 显示行号
管道命令|more:可以分批次查看
cat -n /etc/profile | more: 显示行号并分批次查看profile的文件内容 - more 文件
基于VI编辑器的文本过滤器
more /etc/profile:显示内容,并可以借助交互指令更好浏览
交互指令:- 空格space:向下翻页
- enter:下一行
- q:退出
- =:输出当前行号
- :f:输出文件名和当前行号
- less 文件
用于分屏查看文件,动态加载,根据显示加载内容,对大文件效率高
less /etc/profile: 显示内容,并可以借助交互指令更好浏览
交互指令:- 空格space:向下翻页
- pageup:向上翻页
- /要查找的内容:n:向下查找,N:向上查找
- q:退出
- echo [] [输出内容]
输出内容到控制台
echo $PATH: 输出环境变量
echo $HOSTNAME:输出主机名
echo "i miss you:输出字符语句 - head [-n] 文件
查看文件前几行,默认查看前十行
head /etc/profile/:查看前十行
head -n 5 /etc/profile/: 查看前五行 - tail [-n -f] 文件
查看文件后几行,默认查看后十行
tail /etc/profile/:查看后十行
tail -n 5 /etc/profile/: 查看后五行
tail -f hello.txt:实时监控文件的更新,退出监控,使用ctrl+c - >
输出重定向(覆盖)
ls -al > a.txt:将文件列表写入a.txt文件夹,或者是覆盖a.txt原有文件夹中的内容(如果a.txt文件不存在,则自动创建)
cat /etc/profile > /home/myprofile: 直接将profile的文件信息覆盖到myprofile的文件当中,无需复制 - >>
追加不覆盖
ls -al >> a.txt:将文件列表写入a.txt文件夹结尾
cal >> /home/mycal: 将当前日历信息追加到mycal中 - ln -s 源文件目录 软链接名称
软链接,类似于快捷方式,存放连接其他文件的路径
ln -s /root/ /home/myroot: 使用myroot链接到root
rm /home/myroot: 删除软链接 - history
查看已经执行的历史命令
history 10: 最近10条命令
- pwd
- 时间日期类
- date
显示当前日期
date: 显示当前时间
date +%Y: 显示当前年份
date +%m: 显示当前月份
date +%d: 显示当前哪一天
date "+%Y-%m-%d %H:%M:%S": 显示年月日时分秒,后面是使用字符串的形式 - cal
查看日历
cal 2021: 查看2021年日历
- date
- 搜索查找类
- find [搜索范围] [选项]
从指定目录向下递归遍历子目录,将满足查找条件内容的文件或目录显示在终端
-name<查询方式>:按照指定的查找模式查找文件
-user<用户名>:查找属于指定用户名的所有文件
-size<文件大小>:按照指定文件大小查找,+n:大于,-n:小于,n:等于
find /home -name hello.txt: 按名字查找home目录下的hello.txt文件
find /opt -user root | more: 在opt下查找root用户的文件
find / -size +200M: 查找根目录下大于200M的文件(大小单位k,M,G) - locate
快速定位文件路径,无需遍历文件系统,因为事先建立了locate数据库,所以需要首先执行updatedb命令
updatedb
locate hello.txt:查找文件的绝对路径 - which
检索或查看某个指令在那个目录下
which ls
which reboot
which which - grep
过滤查找,通过与管道符号| 结合使用,表示将前一个命令的处理结果传输给后面的命令处理
grep [-ni] 查找内容 源文件
-n: 显示匹配行和行号
-i:忽略大小写
cat /home/hello.txt | grep -n "yes": 在hello.txt文件中查找yes并显示行号
grep -ni "yes" /home/hello.txt: 在hello.txt文件中查找yes并显示行号,不区分大小写
- find [搜索范围] [选项]
- 压缩解压类
- gzip/gunzip
压缩文件,解压
gzip hello.txt: 压缩文件
gunzip hello.txt.gz: 解压文件 - zip/unzip
压缩文件和目录,解压
zip -r myhome.zip /home/: 将home目录及其包含的文件和子文件夹都压缩
unzip -d /opt/tmp /home/myhome.zip:将myhome.zip解压到/opt/tmp目录中 - tar
既可以打包文件和文件夹,也可以解压,打包后文件后缀为.tar.gz
tar [选项] 文件名.tar.gz 打包的内容- -c: 产生.tar打包文件
- -v:显示详细信息
- -f:指定压缩后的文件名
- -z:打包同时压缩
- -x:解压.tar文件
- -C:指定解压目录
tar -zcvf animal.tar.gz /home/pig.txt /home/cat.txt: 将pig.txt和cat.txt压缩为animal.tar.gz
tar -zcvf myhome.tar.gz /home/
tar -zxvf /home/animal.tar.gz:解压animal.tar.gz文件为一个home目录
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2:解压到另一个解压目录
- gzip/gunzip

浙公网安备 33010602011771号