Linux常用命令整理

Linux常用命令整

很多命令没有经常用就忘了,记一下。

文件、目录类

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
37
cd		# 返回 home 目录(相当于cd ~)

cd . # 返回上一级目录

cd - # 返回上一次所在目录,并显示其目录名

cd xxx # 进入到指定目录xxx

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

ls -l # 列出文件的详细信息,相当于(ll)

ls | grep "xxx" # 列出包含 "xxx" 关键字的文件

mkdir dir # 创建一个目录

mkdir -p dir/dir # 创建多级目录

mkdir -m 777 dir # 创建权限为 777 的目录

touch file # 创建新的空文件

rmdir dir # 删除空目录

rmdir -p dir/bin # 删除子空目录 bin 和其父空目录 dir

rm -rf dir/bin # 删除一个目录中的一个或多个文件或目录(慎用)

rm -rf xxx *.lo # 删除当前目录下所有 ".log" 的文件(慎用)

find fileName -name *.txt | xargs rm -rf # 将查找出来的文件全部删除(慎用)

cp file dir/file # 将文件拷贝到另一文件中

cp -R dir1 dir2 # 拷贝多个目录 (含子目录) 到指定目录

mv dir1 dir2 # 将文件或目录重新命名,或者将文件从一个目录移到另一个目录中

文件查看、处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat file		# 显示文件的内容

cat -n file # 显示文件的行数编号

cat file1 file2 > file3 # 将文件 file1 和 file2 的内容合并之后放入 新文件 file3 中

head file # 显示文件的头 10 行内容

tail file # 显示文件的最后 10 行内容 -n 20 显示20行

tail -f file # 显示文件最新追加的内容,并监视文件的变化,常用来跟踪日志文件

more file # 基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容

less file # 作用与 more 十分类似, pageUp 向上翻页, pageDown 向下翻页, 按 q 退出

cat file1 > file2 # 覆盖导入

cat file1 >> file # 追加导入

wc -l [-m][-c][-w] file # 统计行数、字符数、字节数、单词数

文件查询、搜索

1
2
3
4
5
6
7
grep keyWord		# 与 cat 或者其他命令搭配使用 cat file | grep keyWord

find dir -name "*.log" 搜索指定目录下的后缀为 .log 的文件

find dir -name "*.log" -o -name "*.pid" # 搜索指定目录下的 ".log" 文件和 ".pid" 文件

find dir -user user1 # 搜索指定目录下属于 user1 用户的文件

文本编辑 vi / vim 底行模式下

1
2
3
4
5
6
7
8
9
10
11
12
13
:set nu		# 显示行号

:set nonu # 不显示行号

:n # 跳转到指定第 n 行

:w file # 另存为

:n1,n2 s/str1/str2/g # 从 n1 行到 n2 行, 将 str1 替换为 str2(从开头到结束 1,$ s/str1/str2/g)

:wq # 保存并退出

:q! # 强制退出不保存

文本编辑 vi / vim 命令模式下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
G		# 到末行(Shift + g)

gg # 到首行

dd # 删除行或剪切行

u # 撤销

y # 在使用 v 模式选定了某一块的时候,复制选定块到缓冲区用

yw # 复制一个word (nyw或者ynw,复制n个word,n为数字)

yy # 复制一行

nyy # 向下复制 n 行

p # 粘贴

权限管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
chmod 755 dir/file		# 修改指定文件、文件夹的权限

chmod -R 755 dir # 递归修改目录及其子文件、目录的权限

chown user file # 改变文件的所有者

chown -R user dir # 改变目录的所有者

chgrp group1 file # 改变文件的所有者

chgrp -R group1 dir # 改变目录的所属组

chown user1:group1 file # 同时改变文件的所有者和所属组

chown -R user1:group1 dir # 同时改变目录的所有者和所属组

whoami # 查看当前操作用户

who # 查看当前已登录系统的用户

id user1 # 查看用户 user1 的归属 id 信息

压缩、解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tar -cvf test.tar test.log                            # 仅打包,不压缩

tar -xvf test.tar # 直接解包

tar -zcvf test.tar.gz test.log # 打包后,以 gzip 压缩

tar -zcvf test.tar.gz * # 将当前目录下所有文件压缩

tar -zxvf test.tar.gz # 直接解压

tar -zxvf test.tar.gz -C dir # 解压到新目录,只能是 dir 且已经存在

zip test.zip * # 将当前目录下所有文件压缩为 zip

unzip test.zip # 解压缩 zip

用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
groupadd group1                                    # 创建用户组

groupdel group1 # 删除用户组

groupmod -n group2 group1 # 将 group1 重命名 group2

useradd user1 # 创建用户

useradd -g group1 user1 # 创建 user1 并将其分配到 group1 组下

userdel -r user1 # 删除 user1, "-r" 参数表示同时也删除 home 目录下的相关目录

usermod -g group2 user1 # 改变 user1 的组为 group2

usermod -G group2 user1 # 将 user1 的添加到 group2 组中来,同时保留原来的主组

passwd # 修改当前用户密码

passwd user1 # 修改 user1 用户的密码,仅限 root 用户执行

su user1 # 切换到用户 user1

groups user1 # 查看用户 user1 所属的组

查看命令帮助

1
2
3
4
5
6
7
help cd                                                   # 用于内部命令, 如 exithistorycdecho 等常驻内存

ls --help # 主要用于外部命令,可通过 "echo $PATH" 命令查看外部命令的存储路径,如 ls,vi

man ls # 命令手册,可用于所有命令,输入"q"可退出

type cd # 查看命令类型,内部 or 外部及命令位置

系统相关命令

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
37
38
39
40
41
42
43
44
45
46
47
shutdown  -h now                                  # 立即关机

shutdown -r now # 立即重启

uname -r # 查看内核版本

cal nbsp; # 日历

date # 时间、日期

date -s "2015-12-22 08:00" # 修改时间

ntpdate time.nist.gov # 同步当前时间

history # 查看历史命令记录,运行时 "!"+ 命令号,如 !123 运行 编号为 123 的命令

ps -ef # 查看进程

kill pid # 终止进程

kill -9 pid # 强制终止进程

top # 查看当前系统资源使用率

df -h # 查看磁盘信息

free -m # 查看内存信息

du -h file/dir # 查看单个文件/目录大小 -h 表示以 K,M,G

du -sh file/dir # 查看文件/目录总大小

mount -o loop linux.iso /mnt/dir # 加载文件系统到指定的加载点

umount /mnt/dir # 卸载已经加载的文件系统

rpm -ivh xxx.rpm # 安装 rpm 包

rpm -e xxx.rpm # 卸载 rpm 包

yum install xxx # 安装安装包xxx

yum remove xxx # 删除已安装的xxx

wget http://xxxx # 下载远端 zip 包

echo '' > xxx # 清空xxx文件内容
大爷,赏点?
0%