前言

感觉学一些 linux 的基本命令还是十分必要的,不仅服务器需要,Mac 也会有要求。本文介绍的一些命令,mac 里面应该都有。

关于 Linux 的更多东西,看 ArchLinux 的 wiki 是一个非常好的选择,其中文档比绝大多数教程要好。

Linux 权限

Linux 下有两种用户:普通用户和超级用户。

普通用户:在 linux 下做有限的事情。

超级用户:可以在 linux 系统下做任何事情,不受限制。

切换用户:

su [用户]

Linux 权限管理

  1. 文件访问者的分类

    Linux 把访问者分为 3 类。

    • 文件和文件目录的所有者:u—User
    • 文件和文件目录的所有者所在的组的用户:g—Group
    • 其他用户:o—Others
  2. 文件访问权限的种类

    读,写,执行(对文件而言,执行文件;对目录而言,进入目录)

  3. 文件权限值得表示方法

    表示 权限
    r–- 只读
    -w- 仅可写
    –-x 仅可执行
    rw- 可读可写
    -wx 可写可执行
    r-x 可读可执行
    rwx 可读可写可执行
    —– 无权限

    Linux 中权限数值表示在 chmod 会用到,用三个 8 进制位表示。

Linux 基本命令

ls

格式:ls [选项] [目录或文件]

功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。

常用选项:

  • -a:列出目录下的所有文件,包括以.开头的隐含文件。
  • -d:将目录像文件一样显示,而不是显示其他文件。
  • -i:输出文件的 i 节点的索引信息。
  • -k:以 k 字节的形式表示文件的大小。
  • -l:列出文件的详细信息。
  • -n:用数字的 UID,GID 代替名称。
  • -F:在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“l”表示 FIFOS;“=”表示套接字。

cd

格式:cd [目录名称]

(zsh 直接打目录名就行)

pwd

格式:pwd

功能:显示出当前工作目录的绝对路径。

touch

格式:touch [选项] [文件名]

功能:touch 命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

  • -a:仅改变指定文件的存取时间。
  • -c:(或–no-creat)不创建任何文件。
  • -m:仅改变指定文件的修改时间。
  • -d:使用指定的日期时间,而非现在的时间。

mkdir

格式:mkdir [选项] [目录名]

功能:mkdir 命令用来创建目录。

常用选项:

  • -p:若路径中的某些目录尚不存在,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
  • -m MODE:将新建目录的存取权限设置为 MODE。

rm

格式:rm [选项] [文件列表]

功能:删除文件或目录。

常用选项:

  • -f:忽略不存在的文件,并且不给出提示信息。
  • -r:递归地删除指定目录及其下属的各级子目录和相应的文件。
  • -i:交互式删除文件。

rmdir

格式:rmdir [选项] [目录名]

功能:删除目录。(一定要空文件夹)

常用选项:

  • -p:递归删除目录,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。

man

格式:man [选项] 命令

功能:man 命令格式化并显示某一命令的联机帮助手册页。

常用选项:

  • -k:根据关键字搜索联机帮助。
  • num:只在第 num 章节找。
  • -a:将所有章节的都显示出来。

说明:手册分为 8 章:

  1. 一般用户的命令;
  2. 系统调用;
  3. C 语言函数库;
  4. 有关驱动程序和系统设备的解释;
  5. 配置文件的解释;
  6. 游戏程序的命令;
  7. 有用的杂类命令,如宏命令包等;
  8. 有关系统维护和管理的命令。

cp 命令

格式:cp [选项] [源文件或目录] [目标文件或目录]

功能:复制文件或目录。

常用选项:

  • -f:强行复制文件或目录,不论文件或目录是否已经存在。
  • -d:复制时保留文件链接。
  • -i:覆盖文件之前先询问用户。
  • -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
  • -R:递归处理,将指定目录下的文件及子目录一并处理。

mv

格式:mv [选项] [源文件或目录] [目标文件或目录]

功能:mv 命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

常用选项:

  • -f:强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
  • -i:若目标文件已经存在时,就会询问是否覆盖。

cat

格式:cat [选项] [文件]

功能:查看目标文件的内容。

常用选项:

  • -b:对非空输出行编号。
  • -n:对输出的所有行编号。
  • -s:不输出多行空行。

more

格式:more [选项] [文件]

功能:more 命令显示文件内容,每次显示一屏。

常用选项:

  • -n:对输出的所有行编号。
  • -s:将文件中连续的空白行压缩成一个空白行显示。
  • -num:这个选项制定一个整数,表示一屏显示多少行。
  • q:退出 more。

less

格式:less [参数] [文件]

功能:less 命令与 more 命令类似,但二者存在差别,less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。

常用选项:

  • -i:忽略搜索时的大小写。
  • -N:显示每行的行号。

find

格式:find [pathname] -options

功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。

常用选项:

  • -name:按照文件名查找文件。

grep

格式:grep [选项] [搜寻字符串文件]

功能:在文件中搜索字符串,将找到的行打印出来。

常用选项:

  • -i:忽略大小写的不同,所以大小写视为相同。
  • -n:顺便输出行号。
  • -v:反向选择,亦即显出没有‘搜寻字符串’内容的那一行。

参考

Linux 基本命令总结