教程来自:http://t.csdn.cn/9R0WT

关机与重启指令

shutdown - 关机

  • shutdown -h now 【立即关机】
  • shutdown -h 1 【1分钟后关机,shutdown后不填默认一分钟后关机】
  • shutdown -r now 【立即重启】

halt - 关机

reboot - 重启

sync - 将内存的数据同步到磁盘

无论是要关机还是重启,建议先运行 sync 命令将内存数据保存到磁盘。

帮助指令

man - 查看某个命令的帮助手册

“man” 是 “manual” 的缩写,意思是手册

  • man ls 【查看 ls 命令的帮助手册】
  • man netstat 【查看 netstat 命令的帮助手册】

help - 查看某个命令的帮助信息

  • help cd【查看 cd 命令的相关信息】

文件目录类指令

pwd - 显示当前目录的绝对路径

“pwd” 命令是 “Print Working Directory” 的缩写,用于显示用户当前所处的工作目录。

  • pwd 【查看当前路径】

ls - 显示当前路径下的文件和目录

“ls” 命令是 “list” 的缩写,用于显示当前目录下的文件和子目录。

  • ls 【查看当前路径下所有文件或目录】
  • ls -l 【查看当前路径下所有文件或目录的详细信息】
    " -l “是” long "的缩写
-rw-r–r– 1 root root 773 Aug 11 2022 centos7.sh
文件类型和权限 硬链接数 拥有者 文件大小 修改时间 文件名

-rw-r--r--
文件类型和权限的表示法是由10个字符组成的,第一个字符表示文件类型,后面9个字符表示文件的权限。

  • 第一个字符"-"表示这是一个普通文件,如果是"d"表示这是一个目录。

  • 接下来的三个字符rwx表示文件所有者具有读、写和执行权限。

  • 再接下来的三个字符r--表示文件所属的组(Group)具有读取权限,但没有写入权限。

  • 最后三个字符r--表示其他用户都具有读取权限,但没有写入权限。

  • rwx三个字符分别代表read(读)、write(写)和execute(执行)。


  • ls -a 【查看当前路径下所有文件或目录,包括隐藏文件】
    "-a"是"all"的缩写,表示显示所有文件

  • ls -l index 【查看当前路径下 index 下的详细信息】
    “-l”选项表示以长格式显示文件信息

cd - 切换至指定目录

  • cd /a 【切换到 /a 目录下】
  • cd ~ 【切换到用户主目录】
  • cd - 【切换到上一次访问的目录】
  • cd … 【切换到当前目录的上一级】

mkdir - 创建目录

  • mkdir index 【创建一个 index 目录(一级)】

  • mkdir -p index/a 【创建 index 目录,其下再创建 a 目录(多级)】
    “-p” 表示 “parents”,它的作用是在创建目录时,如果上级目录不存在,则会自动创建上级目录。

  • rmdir /home/a 【删除 home 下的 a 目录】

  • rm -rf /home/a 【强制删除 home 下的 a 目录】
    "rm"是remove的缩写,表示删除的意思
    "-r"表示"recurrence"递归删除,即删除目录及其子目录中的所有文件;
    "-f"表示"force"强制删除,即不再提示用户确认删除操作。

touch - 创建空文件

  • touch hello.txt 【创建 hello.txt 空文件】

cp - 拷贝文件或目录到指定文件或目录

  • cp hello.txt a/ 【拷贝 hello.txt 文件到 a 目录下】
  • cp -r /home/a /b/ 【递归将 home 下的整个 a 目录拷贝到 b 目录下】
  • \cp -r /home/a /b/ 【强制覆盖不提示】
    如果连续执行相同的拷贝命令系统会一个一个提示是否覆盖文件内的文件,这时在 cp 前加一个 \ 就可以进行强制覆盖,不提示。

rm - 删除文件或目录

  • rm a.txt 【删除 a.txt 文件】
  • rm -f a.txt 【强制删除 a.txt 文件,不提示】
  • rm -r /home/a 【递归删除整个 a 目录】
  • rm -rf /home/a 【递归删除整个 a 目录,不提示】

mv - 移动文件与目录或重命名

  • mv a.txt b.txt 【将 a.txt 重命名为 b.txt】
  • mv a.txt test/ 【移动 a.txt 到 test 目录下】
  • mv abc bcd 【重命名目录 abc 为 bcd】
  • mv abc bcd/ 【将目录 abc 目录到 bcd 下】

cat - 查看文件内容

"cat"是"concatenate"的缩写,用于将文件内容连接起来并输出到终端。

  • cat a.txt 【查看文件 a.txt 的内容】
  • cat -n a.txt 【查看文件 a.txt 的内容,并显示行号】
    “-n” 是 “number” 的缩写,表示显示行号。

more - 文本过滤器

  • more a.txt 【查看 a.txt 文件的内容】

more 指令是一个基于 vim 编辑器的文本过滤器,可以以全屏幕的方式按页显示文本文件的内容,且有若干快捷键:

  • space;向下翻一页
  • Enter;向下翻一行
  • q;立即离开more,不再显示文件内容
  • Ctrl+F;向下滚动以一屏
  • Ctrl+B;返回上一屏
  • =;输出当前行的行号
  • :f;输出文件名和当前行的行号

more 指令也可以结合 cat 指令进行使用,可以让文件内容按百分比显示,使用管道指令 | more:

  • cat a.txt | more 【查看文件 a.txt 的内容,并以百分比显示】

less - 分屏查看文件内容

less 用来分屏查看文件的内容,类似 more 指令但强于 more 指令,支持各种显示终端;less 在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要来加载内容,效率较高。同样它也有相关快捷键:

  • space;向下翻动一页
  • pagedown;向下翻动一页
  • pageup;向上翻动一页
  • /字符串;向下搜寻字符串,n 向下,N 向上
  • ?字符串;向上搜寻字符串,n 向下,N 向上
  • q;离开 less

echo - 输出内容到控制台

回响;回声;回音;映现

  • echo $PATH 【输出环境变量 $PATH】
  • echo “Hello World” 【输出语句“Hello World”】

head - 显示文件开头部分

"head"是“header”的缩写,用于显示文件的开头部分内容。

  • head a.txt 【查看 a.txt 文件的前 10 行内容】
  • head -n 5 a.txt 【查看 a.txt 文件的前 5 行内容】

tail - 显示文件尾部的部分

  • tail a.txt 【查看 a.txt 文件的后 10 行内容】
  • tail -n 5 a.txt 【查看 a.txt 文件的后 5 行内容】
  • tail -f a.txt 【查看 a.txt 文件的后 10 行内容,并实时追踪文件更新】
    “-f”指令参数是“跟踪”(follow)的缩写,用于实时跟踪文件的变化,当文件内容发生变化时,将自动输出新增的内容

> / >> - 输出重定向/追加

  • cat 文件1 > 文件2 【将文件1的内容覆盖到文件2】
  • ls -l /home > /home/info.txt 【将 /home 下的文件列表写入 info.txt 中】
  • cal >> /time 【将当前日历信息追加到 /time 文件中】

ln - 软链接

ln命令用于创建链接(link)文件。其中,“-s”选项表示创建软链接(symbolic link),也称为符号链接,它是一种特殊的文件类型,可以指向另一个文件或目录。类似 Windows 中的快捷方式,主要存放了链接其他文件的路径,删除软连接的方式与删除文件相同。

  • ln -s /root /myroot 【创建一个软连接 myroot,连接到 /root 目录】
  • rm /myroot 【删除软连接 myroot】

history - 查看执行过的的历史命令

  • history 【查看最近所有执行过的指令】
  • history 10 【查看最近执行过的10条指令】
  • !5 【执行历史编号为5的指令】

时间日期类指令

  • date 【显示当前时间】
  • date +%Y 【显示当前年份】
  • date +%m 【显示当前月份】
  • date +%d 【显示当前是哪一天】
  • date “+%Y-%m-%d %H:%M:%S” 【显示年月日时分秒】
  • date -s “2022-3-20 11:05:06” 【设置系统时间为…】

cal - 查看日历

  • cal 【显示本月日历】
  • cal 2022 【显示 2022 年日历】

搜索查找类指令

find - 查找文件

find 指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。

  • find /home -name a.txt 【根据文件名查找 home 下的 a.txt 文件】
  • find /home -user xiaoma 【根据用户查找 home 下用户昵称为 xiaoma 的文件】
  • find / -size 200M 【根据文件大小查找系统中大小为 200M 的文件】
  • find / -size +200M 【查找系统中大于 200M 的文件】

上述指令可以组合使用

locate - 定位文件路径

  • updatedb 【创建 locate 数据库,第一次使用 locate指令前必须先创建数据库】
  • locate a.txt 【定位 a.txt 文件的路径】

which - 定位指令路径

  • which ls 【检索 ls 指令所在路径】

grep - 过滤查找

“grep”是“Global Regular Expression Print”的缩写,用于在文本中查找匹配某个模式的字符串,并将其打印出来。

grep 过滤查找常和管道符 | 结合使用,表示将前一个命令的处理结果传递给后面处理。

  • grep “yes” hello.txt 【查找 hello.txt 文件中 “yes” 所在行】
  • cat hello.txt | grep “yes” 【查找 hello.txt 文件中 “yes” 所在行】
  • cat hello.txt | grep -n “yes” 【查找 hello.txt 文件中 “yes” 所在行并显示行号】

压缩解压类指令

gzip - 压缩文件

gzip是GNU操作系统下的一种数据压缩程序,它可以将文件压缩成gzip格式的压缩文件,通常用于在网络上传输文件或者节省磁盘空间。gzip的全称是GNU zip

  • gzip hello.txt 【将 hello.txt 文件压缩为 .gz 文件】

gunzip - 解压文件

  • gzip hello.txt.gz 【将 hello.txt.gz 文件压缩为 .txt 文件】

zip - 压缩文件或目录

  • zip -r myhome.zip /home/ 【将 home 以及它的子目录压缩为 myhome.zip】
    -r 递归压缩(还记得英文全称吗?往上翻),用于压缩目录以及目录下的子文件夹。

unzip - 解压文件或目录

  • unzip -d /tmp myhome.zip 【将 myhome.zip 解压到 /tmp 目录下】
    -d 用于指定解压后文件的存放目录

tar - 打包

tar”是“tape archive”的缩写,是一种归档工具,用于将多个文件打包成一个文件。
tar 打包后的文件为 .tar.gz 文件。

  • tar -zcvf a.tar.gz b.txt c.txt 【将 b.txt 和 c.txt 压缩成 a.tar.gz】
    “-z” (gzip)表示使用gzip压缩算法,将打包的文件进行压缩;“-c” (create)表示创建一个新的归档文件;“-v” (verbose)表示详细显示打包的过程;“-f” (file name)表示文件名,后面需要跟着打包后的文件名。因此,整个指令的意思是:将多个文件打包成一个文件,并使用gzip算法进行压缩,显示打包过程的详细信息,并将打包后的文件保存为指定的文件名。
  • tar -zcvf a.tar.gz /home/ 【将 /home 下的文件夹压缩为 a.tar.gz】
  • tar -zxvf a.tar.gz 【将 a.tar.gz 解压到当前目录】
  • tar -zxvf a.tar.gz -C /tmp 【将 a.tar.gz 解压到 /tmp 目录下】