Please enable Javascript to view the contents

Linux命令

 ·  ☕ 5 分钟  ·  👽 zhaoqiu

文件管理

  • ls -a -l -h -t
参数 描述
-a –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
-h –human-readable 以容易理解的格式列出文件大小(例如 1K 234M 2G)
-t 以文件修改时间排序

-l的显示结果的第一列的搜字母为d则表示为文件夹,若为-则为文件。第二列的数字表示文件夹包含多少个文件。

  • cd
    cd -: 进入上次所在目录。

  • pwd 显示当前目录。

参数 描述
-P 显示实际物理路径,而非使用连接(link)路径
-L 当目录为连接路径时,显示连接路径
  • mkdir [option] name
参数 描述
-m (–mode=模式)设定权限< 模式 >
-p (–parents) 按给定的目录层级去全部一次迭代创建。
-v (–verbose) 每次创建新目录都显示信息(在命令行输出结果)
  • mkdir -m 777 test 创建权限为777的文件夹

  • tree test/ 以树结构显示目录所有文件

  • rm

参数 描述
-f --force 忽略不存在的文件,从不给出提示
-i --interactive 进行交互式删除
-r --recursive 指示 rm 将参数中列出的全部目录和子目录均递归地删除
-v --verbose 详细显示进行的步骤
  • mv
参数 描述
-b --back 若需覆盖文件,则覆盖前先行备份
-f --force 如果目标文件已经存在,不会询问而直接覆盖
-i --interactive 若目标文件已经存在时,就会询问是否覆盖
-u --update 若目标文件已经存在,且源文件比较新,才会更新
-t --target 目标目录在前,多个源文件在后
  • cp
参数 描述
-t --target-directory 指定目标目录
-i --interactive 覆盖前询问(使前面的 -n 选项失效)
-n --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-s --symbolic-link 对源文件建立符号链接,而非复制文件
-f --force 强行复制文件或目录,不论目的文件或目录是否已经存在
-u --update 只复制更新的或不存在的文件
  • cat 输入输出到文件

将file1的内容加上行号输出到file2中
cat -n textfile1 > textfile2

参数 描述
-A --show-all 等价于 -vET
-b --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E --show-ends 在每行结束处显示 $
-n --number 对输出的所有行编号,由 1 开始对所有输出的行数编号
-s --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
tac 将文件内容反向读取显示
  • nl [option] file
参数 描述
-b 指定行号指定的方式,主要有两种:
-b a 表示不论是否为空行,也同样列出行号(类似 cat -n)
-b t 如果有空行,空的那一行不要列出行号(默认值)
-n 列出行号表示的方法,主要有三种:
-n ln 行号在屏幕的最左方显示
-n rn 行号在自己栏位的最右方显示,且不加 0
-n rz 行号在自己栏位的最右方显示,且加 0
-w 行号栏位的占用的位数
  • more
    分页显示时,按空格显示下一页。
    ls -l | more -10, |表示前一步执行的结果交给后续命令处理

多步执行连接符:

  1. ;: 没有任何逻辑,命令互相不影响,就是一步一步执行下去。
  2. ||: 逻辑或, 前一步的命令执行失败才继续执行下去
  3. &&: 逻辑与, 前一步的命令必须执行成功才继续执行下去
  4. |: 表示前一步执行的结果交给后续命令处理
  5. &: command1 & command2 讲命令1放入后台执行,命令2回到命令行环境。
参数 描述
+n 从笫 n 行开始显示
-n 定义屏幕大小为 n 行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quiet”,禁用响铃功能
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c 选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下划线去掉
  • less
参数 描述
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-i 忽略搜索时的大小写
-m 显示类似 more 命令的百分比
-N 显示每行的行号
-s 显示连续空行为一行

进入less之后可以使用的命令:

符号 |描述
/字符串 |向下搜索“字符串”的功能
?字符串 |向上搜索“字符串”的功能
n |重复前一个搜索(与 / 或 ? 有关)
N |反向重复前一个搜索(与 / 或 ? 有关)
b |向前翻一页
d |向后翻半页
q |退出 less 命令
空格键 |向后翻一页
向上键 |向上翻动一行
向下键 |向下翻动一行

  • head
参数 描述
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
  • tail
参数 描述
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<字节> 显示的字节数
-n<行数> 显示行数
  • which [executable file]

which gcc

  • whereis [option] name
    在Linux自建的文件数据库里查找,该数据库每天更新一次,新建的文件可能搜索不到。
    whereis 命令只能搜索可执行文件、联机帮助文件和源代码文件
    参数 |描述
    —|—
    -b |定位可执行文件
    -m |定位帮助文件
    -s |定位源代码文件
    -u |搜索默认路径下除可执行文件、源代码文件和帮助文件以外的其它文件
    -B |指定搜索可执行文件的路径
    -M |指定搜索帮助文件的路径
    -S |指定搜索源代码文件的路径

  • locate
    whereis 类似,但更强大。
    sudo apt-get install locate
    sudo updatedb

locate /etc/*str* 搜索文件名包含str字段的文件

参数 描述
-q 安静模式,不会显示任何错误讯息
-n 至多显示 n 个输出
-r 使用正则表达式做寻找的条件
-V 显示版本信息
  • find

  • xargs

  • wc

  • grep

  • 正则与grep

系统管理

  • kill

ps 查看pid
kill pid,若不成功,就用 kill -9 pid

  • ps
参数 描述
-A 显示所有进程

备份压缩

  • tar
参数 描述
-c 建立压缩档案
-x 解压
-t 查看内容
-r 向压缩归档文件末尾追加文件
-u 更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

参数 描述
-z 有gzip属性的
-j 有bz2属性的
-Z 有compress属性的
-v 显示所有过程
-O 将文件解开到标准输出
-f 切记,这个参数是最后一个(必须)参数,后面只能接档案名。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
tar -czvf target.tar.gz file1 压缩file到target.tar.gz  创建
tar -tzvf test.tar.gz 列出压缩包里的文件
tar -xzvf test.tar.gz 解压文件
tar -xzvf test.tar.gz -C ./test 解压文件到指定文件夹
tar -rf all.tar *.gif  这条命令是将所有.gif的文件增加到all.tar的包里面去。
-r是表示增加文件的意思

*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压
分享