[toc]

系统操作指令

命令快捷键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Ctrl + a    #光标跳转至正在输入的命令行的首部
Ctrl + e #光标跳转至正在输入的命令行的尾部
Ctrl + w #按照空格来删除bash内容
Ctrl + c #终止前台运行的程序
Ctrl + d #在shell中,ctrl-d表示退出当前shell。(logout、exit)
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令等效。
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令, 利用关键字
Ctrl + s #锁屏
Ctrl + q #解锁
Ctrl + 左右 #按照单词快速跳转光标(Xshell提供的)
ESC + . #获取最后的指令

history(查看历史命令)

1
2
3
4
5
6
7
8
9
10
11
12
# history(查看历史命令)

# 选项:
-w # 保存命令历史到文件 write
-c # 清空命令历史记录,不会清空文件 clear
-d # 删除命令历史的第N行 delete
!! # 执行上一条命令
!命令 # 执行上一条'输入命令'相关命令
!数字 # 执行历史命令中的第'输入数字'条命令

# PS:
历史命令会进行修改的

获取命令帮助

1
2
3
4
5
6
7
8
9
# 语法格式

man 命令
命令 --help

# PS:
## 查看Linux命令的站点:
http://linux.51yip.com/
http://man.linuxde.net/

系统目录相关

ls命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# ls命令用来显示目标列表

# 语法结构
ls 选项

# 选项
-a # 查看目录下的所有文件,包括隐藏文件
-l # 以长格式的方式显示文件的详细内容
-h # 以人性化的方式显示内容,配合-l使用
-d # 列出当前目录的属性信息
-t # 按修改时间进行排序
-i # 显示文件的inode(该文件在该分区的一个编号)
-r # 倒叙

系统目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 根下的目录及说明

/etc # 系统重要配置文件, 以及常用服务配置文件
/var # 变量文件,如日志、脱机文件、缓存文件等
/run # 系统启动后程序产生的文件,包括进程的pid文件,锁文件等
/home # 普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME
/root # 超级管理员的主目录, 普通用户无权操作
/tmp # 存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限
/boot # 存放系统引导时候需要的文件
/dev # 存放设备文件
/usr # 安装的软件, 共享库。 重要的子目录有:
/usr/bin # 用户命令目录
/usr/sbin # 管理员命令目录
/usr/local # 本地自定义安装的软件
lib # 库文件
lib 64 # 64位库文件
/mnt/ # 临时挂载的文件系统。比如cdrom,u盘等,要先挂载后使用
/opt/ # 可选应用软件包

# 系统文件

/dev
sda 系统的第一块磁盘
sda1 系统第一块磁盘的第一个分区
sda2 系统第一块磁盘的第二个分区
sda3 系统第一块磁盘的第三个分区
sdc3 系统第三块磁盘的第三个分区

/dev/null 黑洞
/dev/zero 可以源源不断的取出数据
/dev/cdrom 光驱
/dev/random 随机数

# PS
## 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0

文档管理命令

tree(树状展示文档)

1
2
3
4
5
6
7
8
9
10
11
# 以树状的形式,显示目录和文件
# 需安装此程序
yum install -y tree

#语法结构:
tree + 选项 + 路径

# 常用语法:
tree 路径 # 展开路径下的目录和文件
tree -L nukber 路径 # 查看指定层级的目录
tree -d 路径 # 只查看目录不查看文件

cd(切换目录)

1
2
3
4
5
6
7
8
9
10
11
# 切换目录(change directory)

# 语法结构:
cd 路径

# 选项:
cd /xxx/ # 切换到指定路径
cd . # 用户当前目录一般在拷贝、移动情况下使用
cd .. # 切换到当前目录的上级目录
cd ~ # 以上两个命令相同,切换至当前用户的家目录
cd - # 切换上次所在的目录

mkdir(创建目录)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建目录(make directory)

# 语法结构:
mkdir 选项 路径

# 常用语法:
mkdir -m # 创建目录并分配权限
mkdir -p # 递归创建目录(多级目录)
mkdir -v # 创建目录并展示命令执行过程

# 一个命令在多个不同级路劲下创建目录
mkdir -pv /{home/{zls/test{1..2},oldboy/test1},tmp/old{boy,girl},root/{abc,test/test{1..2}},backup}

# ps
1.`创建相同的目录会报错`

touch(创建文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建文件(touch)

# 语法结构:
touch 路径

# 以上一个命令创建多个文件
touch /home/file1 file2 file3 file4
touch /home/file{1,2,3,4}
touch /home/file{1..4}

# ps
1.文件`必须要创建在存在的目录中`
2.和创建目录不同的是,`创建相同的文件不会报错`
3.创建相同的文件,源文件内容不会被覆盖
4.在Linux当中一切皆文件

cp(复制)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 复制(copy)

# 语法结构
cp 选项 源文件 目标路径

# 常用语法
cp -p # 保持文件原有属性进行复制
cp -r # 递归复制目录(多级目录)
cp -a(-a=-rp) # 递归复制目录(多级目录)并保存文件原有属性
cp -v # 显示命令执行中的过程
cp -i # 安全机制,当文件名或目录名重复时,会提示是否覆盖(默认开启别名)

# 不建议使用
cp -t # 将"源文件"和"目标路径"互换位置

mv(移动)

1
2
3
4
5
6
7
8
9
10
# 移动(move)

# 语法结构
mv 选项 源文件 目标路径

# 常用语法
mv -i /x/x /xx #安全机制,如果文件名或目录名重复,会提示是否覆盖(默认开启别名)

# 不使用
mv -t /x/x /xx #将目标文件与源文件语法位置互换

rm(删除)

1
2
3
4
5
6
7
8
9
10
# 删除(remove)

#语法结构
rm 选项 路径

# 常用语法
rm -f # 强制删除,忽略不存在的文件,不提示确认 force
rm -r # 递归删除目录及内容 recursive
rm -v # 显示命令执行中的过程
rm -i # 安全机制,在删除前会提示确认(默认开启别名)

文件查看命令

cat(查看)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看文件内容(cat)
# 将[文件]或'标准输入'组合输出到'标准输出'。

#语法结构
cat 选项 文件路径

#常用语法
cat -n # 显示行号 number
cat -E # 在每行结束处显示"$" show-ends
cat -e(-vE) # 等于-vE相同(中文不显示)
cat -T # 将跳格字符显示为^I show-tabs
cat -t(-vT) # 与-vT相同(中文不显示)
cat -A(-vTE) # 等于-vET,结尾处显示'$',跳格字符显示为^I show-all
cat >> xxx <<EOF # 追加数据

more(查阅)

1
2
3
4
5
6
7
8
# 查阅文件(more)

# 语法结构
more 文件路径

#常用语法
回车 # 翻阅下一行
空格 # 翻阅下一页

less(详细查阅文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查阅文件(less)

# 语法结构
less 文件路径

#常用语法
回车 # 翻阅下一行
空格 # 翻译下一页
/关键字 # 搜索关键字
- n # 往下翻阅下一个关键字
- N # 网上翻阅上一个关键字
g # 回到首页
G # 到最后一页

head(查看文件头部)

1
2
3
4
5
6
7
8
9
10
# 查看文件头部(head)
## 默认查看文件前10行

# 语法结构
head 选项 文件路径

# 选项
head 文件路径 # 查看文件'xx'前10行
head -n 5 文件路径 # 查看文件'xx'前5行
head -3 文件路径 # 查看文件'xx'前3行

tail(查看文件尾部)

1
2
3
4
5
6
7
8
9
10
11
# 查看文件尾部(tail)
## 默认查看文件倒数10行

# 语法结构
tail 选项 文件路径

#常用语法
tail /xx/xxx #查看文件'xx'倒数10行
tail -n 5 /xx/xxx #查看文件'xx'倒数5行
tail -3 /xx/xxx #查看文件'xx'倒数3行
tail -f /xx/xxx #查看文件'xx'倒数10行,并追踪

grep(过滤)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 过滤(grep)

# 语法结构
grep 选项 关键字 文件

# 选项
grep -w 'xx' 文件 # 按单词进行过滤
grep -n 'xx' 文件 # 过滤并标出行号
grep -v 'xx' 文件 # 反选过滤
grep -E 'xx|yy' 文件 # 同时过滤两个关键词
grep -i 'xx' 文件 # 过滤且不区分大小写
grep -o 'xx' 文件 # 过滤且仅显示过滤内容
grep -A1 'xx' 文件 # 过滤并显示下面一行
grep -B1 'xx' 文件 # 过滤并显示上面一行
grep -C1 'xx' 文件 # 过滤并显示上下一行

# PS:
grep '^xx' 文件 # 在'xxx'中过滤出以'xx'为首的行
grep 'xx$' 文件 # 在'xxx'中过滤出以'xx'结尾的行
grep '.*' 文件 # 在'xxx'中过滤出所有内容

|(管道符)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 管道符(|)
# 将管道符左边'标准输出'交给管道符右边的'标准输入'处理

# 语法结构
命令 | 命令

#常用语法
标准输出 往终端外输出 (能看到终端上显示内容)
标准输入 往终端内输入

# Linux三剑客

`grep`
`awk`
`sed`

文件上传和下载命令

lrz&sz(上传和下载)

1
2
3
4
5
6
7
8
# 上传(rz) 下载(sz)

# 需先安装工具:
yum install -y lrzsz

#常用语法
rz 文件 # 文件上传,可直接拖入
sz 文件 # 文件下载,可直接下载到指定路径

wget(下载)

1
2
3
4
5
6
7
# 下载(wget)

# 需先安装工具:
yum install -y wget

wget url # 通过url链接下载
wget url -P 路径 # 指定文件存放的路径

字符处理命令

sort(排序)

1
2
3
4
5
6
7
8
9
10
11
# 排序(sort)

# 语法结构
sort 选项 文件
sort -t '指定分隔符' -k分割区域数字 -nr 文件

#常用语法
-t 'x' 文件 # 指定'x'为分隔符
-n 文件 # 按数字进行排列
-r 文件 # 按降序排列
-k 'x' 文件 # 指定'x'分割区域进行排列

uniq(去重)

1
2
3
4
5
6
7
8
# 去重(uniq)
# 如果文件中有多行完全相同的内容, 需要删除重复的行,同时要统计出完全相同的行出现的总次数, 那么就可以使用uniq命令解决这个问题(必须配合sort使用)

# 语法结构
uniq 参数
#常用语法
sort xxx.txt|uniq # 在'xxx'中去除重复行
sort xxx.txt|uniq -c # 在'xxx'中去除重复行并统计行数

cut(截取)

1
2
3
4
5
6
7
8
9
10
# 截取(cut)

# 语法结构
cut 选项 文件
cut -d '指定分隔符' -f x,x 文件|cut -c n-n

# 常用语法
-d 'x' # 指定分隔符
-f x,x # 选择分割区域
-c n-n # 按照字节单位截取

tr(临时替换)

1
2
3
4
5
# 临时替换(tr)
#原内容的字节位数必须和新内容的字节位数一致

# 语法结构
tr '原内容' '新内容' 参数

wc(统计)

1
2
3
4
5
6
7
8
9
# 统计(wc)

# 语法结构
wc 选项 文件

#常用语法
wc -l 文件 # 统计行数 line
wc -w 文件 # 统计单词数 world
wc -c 文件 # 统计字节数

awk(过滤列)

1
2
3
4
5
6
7
8
9
# 过滤列(awk)

# 语法结构
awk 选项 'NR==n{print $n}' 文件

# 常用语法
awk '{print $n}' # 指定列
awk -F # 指定分割符号(默认以空格为分隔符)
awk 'NR==n' # 取行

文件属性

1
2
3
4
5
6
7
-			# 普通文件(命令、文件)
d # 目录
l # 链接文件(指向性文件,类似于快捷方式)
b # 储存设备文件(块儿文件)
c # 设备文件(打印机、终端)
s # socket安全套接字文件,进程间通讯
p # 管道文件