博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux命令速查手册(第2版)学习
阅读量:4938 次
发布时间:2019-06-11

本文共 7015 字,大约阅读时间需要 23 分钟。

第1章、需要了解的命令行相关事项

表1-1 如何在文件名字符中使用特殊字符
字符 建议
/ 绝不使用。不能转义
\ 必须转义。避免使用
_ 绝不能作为文件或目录名的第一个字符
[] 必须转义。避免使用
{} 必须转义。避免使用
* 必须转义。避免使用
? 必须转义。避免使用
' 必须转义。避免使用
" 必须转义。避免使用
<空格> 必须转义。通常无法避免,但尽量避免

 

表1-2通配符及其匹配含义
符号 含义
* 匹配0个或者多个任意字符
匹配单个字符
[] 匹配一组单个字符
{} 字符串和范围{jpg,png}

 clear:重置屏幕

第2章、导航文件系统

ls命令详解
ls 列出文件和文件夹
ls path 列出文件夹内容
ls /home/*.wmv 使用通配符列出文件夹的内容
ls -R/ls --recursive 查看子文件夹中的文件列表
ls -1/ls --format=single-column 以一行显示内容列表
ls -m/ls --format=commas 以逗号分隔列表显示内容
ls -a/ls -all 查看隐藏的文件和文件夹
ls -A 查看不显示.与..隐藏文件夹
ls -F/ls --classfy

直观显示文件的类型

字符 含义
* 可执行文件
/ 目录
@ 符号链接文件
| FIFO(也称为命名管道)
= 套接字
ls --color

以各种颜色显示内容

颜色 含义
默认的shell文本颜色 普通文件
绿色 可执行文件
蓝色 目录
紫红色 符号链接文件
黄色 FIFO
紫红色 套接字
红色 压缩文件(.tar、.zip、.deb、.rpm)
紫红色 图像文件(.jpg、.gif、.png、.tiff)
紫红色 音频文件(.mp3、.ogg、.wav)
ls -l/ls --format=long

列出权限、所有者以及其他信息

字符 文件类型
_ 普通文件
_ 可执行文件
d 目录
l 符号链接文件
s 套接字
b 块设备
c 字符设备
p 命名管道(AKA FIFO)

r 允许读取 w 允许改写 x 允许执行 -出现在什么位置代表没有不能什么

所有者/组(root)的成员/其他用户

 ls -r/ls --reverse 倒序显示文件内容
 ls -t/ls --sort=time 按日期和时间排序内容
ls -S/ls --sort=size 按文件大小排序内容
ls -h/ls --human-readable 用k、M、G显示文件大小
ls -i 理解Linux存储文件的方式显示文件索引节点号
pwd

显示当前目录路径

pwd -P/pwd --physical 显示目标路径

pwd -L/pwd --logical 显示逻辑路径

cd

切换路径

cd - 切换到之前路径

 第3章、创建和消毁

touch命令

touch a.txt 将文件修改为当前时间
touch -t

将文件修改为任意所需的时间

-t[[CC]YY]MMDDhhmm[.ss]

字符 含义
CC 4位年份数字中前2位字符
YY 2位数字的年份:
1、如果是00~68,假设年份的前2位数字是20
2、如果是69~99,假设年份的前2位数字是19
如果没有,那假设为当前年份
MM 月份(01~12)
DD 日期(01-31)
hh 小时(01~23)
mm 分钟(00~59)
ss 秒钟(00~59)

 

touch notexist.txt 创建空文件notexist.txt

 

mkdir 命令
mkdir new 创建新目录

mkdir -p tets/test

mkdir --parents test/test

创建新目录以及必要的子目录

  

  cp命令

 cp a.txt a_copy.txt

 cp 源文件 复制后路径

 cp 源文件 .(在当前目录创建源文件快捷方式)

复制文件
 cp *  使用通配符复制文件
 cp -v/cp  --verbose  显示复制文件的过程
 cp -i/cp --interactive  防止在复制是覆盖重要文件
cp -r/cp --recursive 复制目录以及子文件
cp -a/cp --archive/cp -dpr/cp --no-dereference --preserve -recursive 为建立完善副本而将文件复制到另外的一个目录

 

mv命令

mv a/a a/b

mv a/a .

移动文件和文件夹

mv a b

重命名文件和文件夹

a如果是软链接加上/代表软链接指向的目录

 

ln命令
ln a.txt b.txt 创建指向另一个文件或目录的链接

sudo ln -s /var/www /www

sudo ln -s /var/www .

sudo ln -s /var/www

创建软链接
unlink a.txt 移除链接

 

硬链接与软链接区别
类型 硬链接 软链接
链接指向 索引节点 名称
链接到目录
跨文件系统链接
移动源文件 链接有效 链接断开
更改目标的名称 链接有效 链接断开 
 删除链接  目标仍然存在*   目标仍然存在*
链接的索引节点  与目标相同 与目标不同
存储空间 ~4KB

 

rm 命令
rm a.txt 删除文件
rm *.txt 使用通配符删除文件
rm -i 防止删除关键文件
rmdir path 删除空目录
rm -rf/rm --recursive --force          删除文件和非空目录

第4章、学习命令

man命令[manual(手册)]
man ls

查找ls命令相关信息

NAME 命令名称及功能简要说明
SYNOPSIS 用法说明,包括可用的选项
DESCRIPTION 命令功能的详细说明,可能包括每一个选项的意义
OPTIONS 说明每一项的意义
FILES 此命令相关的配置文件
BUGS 已经错误,以及如何汇报错误
COPYRIGHT 版权信息
SEE ALSO 参见
man -f/man --whatis/whatis 基于命令名称来快速弄清其功能
 man -k/man --apropos/apropos 基于其功能搜索命令
 man [1-2] passwd  读取特定页数的手册

 

info命令
info info 学习info命令
info -d 添加包含info格式帮助文档的目录
info -f 指定要读取的info格式的帮助文档
info -n 指定首先访问的info帮助文件的节点
 info按键
? 显示info的常用快捷键
N 显示(相对于本节点的)下一节点的文档内容
P 显示(相对于本节点的)下一节点的文档内容
U 进入当前命令所在的主题
M 敲M键后输入命令的名称就可以查看该命令的帮助文档了
G 敲G键后输入主题名称,进入该主题
L 回到上一个访问的页面
SPACE 向前滚动一页
BACKUP/DEL 向后滚动一页
Q 退出info

 

whereis 命令
whereis kword 查找命令的可执行文件、源文件、手册路径
whereis -b 只查找二进制文件路径
whereis -m 只查找手册路径

whereis -s

只查找源文件路径

 

which命令
which kword 查找将要运行命令的路径
which -a kword/whereis -s kword 显示kword命令全部路径

 

type命令
type ls

shell如何解释命令

alias 别名
keyword 关键字,Shell保留字
function 函数,Shell函数
builtin 内建命令,Shell内建命令
file 文件,磁盘文件,外部命令
type -t ls builtin

第5章、组合命令

命令栈:

5.1、将命令放在一行上,以;分隔命令。

5.2、用&&代替;,紧当前面的命令执行成功后才进行后面的命令。

5.3、||紧当前面的命令执行失败后才执行后面的命令。

5.4、$(),将一条命令的输出插入到另外一条命令中如mkdir $(date "+%Y-%m-%d");

5.5、

三种输入/输出流
文字描述符 名称 常见缩写名 典型的默认设备
0 标准输入 stdin 键盘
1 标准输出 stdout 终端
2 标准错误 stderr 终端

 

管道|用法
ls -1 | less 将ls -1结果传递到 less
ps ux | grep firefox 查找是否有firefox程序在运行

5.6、>将结果输出定向输出到文件中

ls -1F > a.txt

5.7、set -o noclobber 防止重定向覆盖文件 如果需要覆盖文件使用>| 替代 >,取消noclobber set +o noclobber.

5.8、将命令输出追加到文件中用>>

5.9、将文件用作命令的输入使用<,例子:tr 'A-Z' 'a-z' < command.txt > command_lower.txt.

5.10、tee命令将输出同时发送到文件和stdout, ls -1 | tee command.txt,追加使用tee -a ls-1 | tee -a command.txt。

 

第6章、查看文件

文件相关命令
file a.txt 显示文件类型
cat a.txt 在标准输出设备上查看文件
cat a.txt b.txt 将文件拼接到标准输出设备上
cat a.txt b.txt > c.txt 将文件拼接到另外的文件
cat -n 拼接文件并显示行号

 less

逐屏显示文件

用于less的按键命令
按键命令 操作
PageDn、e或者空格键 前进一页
PageUp、b 后退一页
Return、e、j、下箭头 前进一行
y、k、上箭头 后退一行
G、p 前进到文件的结尾
1G 回到文件的开始位置
Esc~)或右箭头 向右滑动
Esc~(或左箭头 向左滑动
Q 退出less命令

less -M或者按"="键

less的结果中显示文件信息

ls --color | less -R

修复特殊字符带来的混淆

less搜索命令/
按键命令 操作
/pattern 向前搜索使用正则表达式表示的模式
n 重复向前搜索
N 重复向后搜索
export EDITOR=vim

按v进入编辑器,使用左边设置默认编辑器

head a.txt b.txt

查看多个文件的前10行数据没有b.txt就显示单个文件

head -n 100

显示文件的前100行数据

head -c
head -c 100 显示文件前100字节
head -c 100KB 显示文件前100KB
head -c 100MB 显示文件前100MB

 

各种前缀以及他们所代表的字节数
旧前缀 含义 新前缀 含义

kilo比优特

(kB)

103  1000字节

kibibyte

(KiB/K)

210  1024字节

 megabyte

(MB)

 106  1000kB

mebibyte

(MiB/M)

 220  1024KiB

 gigabyte

(GB)

109 1000MB

 gibibyte

(GiB/G)

 230 1024MiB

 terabyte

(TB)

 1012 1000GB

 tebibyte

(TiB/T)

 240 1024GiB

 petabyte

(PB)

 1015  1000TB

 pebibyte

(PiB/P)

 250 1024TiB

exabyte

(EB)

 1018  1000PB

 exbibyte

(EiB/E)

 260 1024PiB

 

 tail 查看文件倒数10行
tail -n 10/ tail --lines=10 查看文件倒数n行数据
tail-f

查看文件经常更新行

tail -f --pid=2112 /var/log/apache2/error.log

tail --retry 文件消失或者突然不可访问

第7章、使用过滤器操作文本文件

过滤器操作文本文件
wc

  wc -l/wc --lines 提供行数

wc -m/wc --chars 提供字符数

wc -w/wc --words 提供单词数

默认显示全部

sed '/^$/d' "a.txt" | wc -l 删除a.txt空白来统计数据
nl

nl 给文件非空行编号

nl -b  t给文件非空行编号

nl -b a给文件所有行编号

cut

 cut -f(--fields) 1,3 a.txt

 echo wu.images.xx.com | cut -d '.' -f 2-4

cut -f 1,3 --output-delimiter=',' a.txt

 sort

sed ld a.txt | sort -t '  ' -k 4 -r

-k/--key

-r/--reverse

du -d 1 -h | sort -h(如果du -h,sort -h才能正确排序 sort -n 会不能正确排序)

uniq

去重命令(uniq去重去的是相邻重复元素 )

history | awk '{print $2}' | sort | uniq

tr

tr a-z A-Z 将字符小写转大写

[:alnum:] 字母设置(A-Z,a-z,0-9)
[:alpha:] 字母(A-Z、a-z)
[:blank:] 空白(空格、制表符)
[:digit:] 数字(0-9)
[:lower:] 小写字母(a-z)
[:punct:] 标点和符号
[:space:] 空格(空格、制表符、换行、垂直空白)
[:upper] 大写字母(A-Z)

 

tr -s

使用单个实例替换多个重复的字符如: tr -s [:blank:]

tr -d

删除匹配的字符

sed 's/markdown.txt/markdown/g' 转换文本
awk

打印文件中的特定字段

wc -c /var/mail/mail | awk '{print $1}'

 

第8章、拥有者和权限

拥有者和权限命令
whoami 查看身份命令
su username 切换到username用户
su -l/su --login user 登录user账号
su如果不行就sudo su 成为root用户
su - 登录root用户
chgrp chgrp admins a.sh 将a.sh用户组修改为admins组
chgrp -R/--recursive 递归修改文件用户组
chown chown u a.txt 改变文件的拥有者
chown -R/--recursive 与chgrp -R类似
chown owner:group

chown u:admins a.txt同时修改用户以及用户组

chown :group 等价于 chgrp 命令

chmod
用户组 缩写
用户(拥有者) u
用户组 g
其他人 o

 

  权限字母及其含义   
文件属性  缩写  针对文件的含义  针对目录的含义
 可读取 r 可查看 可使用ls命令列出内容
 可写入 w 可编辑 可删除、重命名、添加文件
 可执行 x  可作为程序运行 有权读取文件或子目录或运行文件
suid s  任何用户都可以使用拥有者的权限执行文件 不适用
 sgid  s 任何用户都可以使用用户组的权限执行文件  目录中新建的文件都属于拥有目录的用户组
 suid或sgid,但不可执行  S

任何用户都可以使用拥有者的权限(如果是suid)

任何用户都可以使用用户组的权限(如果是sgid)执行文件

但文件不可执行

不适用 
 sticky bit  t 不适用  除非用户是文件或者目录的拥有者,否则不能删除或重命名文件
sticky bit,但不可执行  T 不适用   用户不只能删除或重命名自己的文件,但无权读取文件和子目录

上表root用户除外

chmod [ugo][-+=][rwx]

chmod [0-7][0-7][0-7]

 

权限和相应的数字表示
  拥有者 用户组 其他用户
权限 r;w;x; r;w;x; r;w;x;
数字 4;2;1 4;2;1 4;2;1

 

ls -l 命令表示的数字权限
数字

ls -l表示法

0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx

chmod 600 a.txt

chmod -R 递归修改权限

 

 chmod u[+-]s

chmod 4[0-7][0-7][0-7]

设置suid chmod u+s a.txt 或 suid 4754 a.txt

取消suid chmod u-s a.txt 或 suid 0754 a.txt

 chmod g[+-]s

chmod 2[0-7][0-7][0-7]

设置或者取消sgid 

chmod [+-]t

chmod 1[0-7][0-7][0-7]

设置或者取消 sticky bit

 

第9章、归档和压缩

 

转载于:https://www.cnblogs.com/miaosj/p/11276793.html

你可能感兴趣的文章
python2018年秋季调研
查看>>
数据库三大范式
查看>>
通用短信平台接口
查看>>
bzoj1083 [SCOI2005]繁忙的都市
查看>>
“Live Desktop” privacy statement
查看>>
SnowNLP:•中文分词•词性标准•提取文本摘要,•提取文本关键词,•转换成拼音•繁体转简体的 处理中文文本的Python3 类库...
查看>>
IOS Object C id,class,sel,bool
查看>>
tinyMCE自定义添加图片插件
查看>>
小白了解前端知识(更新中)
查看>>
107-PHP类成员属性赋值
查看>>
在线学习为course扩充字段
查看>>
HDU 多校对抗赛 J Time Zone
查看>>
JDBC使用过程中问题
查看>>
学习总结:机器学习(四)
查看>>
什么是 MIME TYPE?
查看>>
js 短信验证码功能
查看>>
Android Binder机制介绍
查看>>
【洛谷 1576】最小花费
查看>>
137.CPP自带异常
查看>>
【 js 工具 】如何使用Git上传本地项目到github?(mac版)
查看>>