linux基础目录与常用命令解析

Linux目录结构

/
bin
boot
dev
etc
home
lib
proc
usr
var

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/bin 存放二进制可执行文件(ls,cat,mkdir等) 
/boot 存放用于系统引导时使用的各种文件
/dev 用于存放设备文件
/etc 存放系统配置文件(环境变量)
/home 存放所有用户文件的根目录
/root 超级用户目录
/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
/mnt 系统管理员安装临时文件系统的安装点
/opt 额外安装的可选应用程序包所放置的位置
/proc 虚拟文件系统,存放当前内存的映射
/sbin 存放二进制可执行文件,只有root才能访问
/tmp 用于存放各种临时文件
/usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
/var 用于存放运行时需要改变数据的文件

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
ls
---
ls -a , all列出当前目录下所有文件,包括以“.”开头的 隐藏 文件
ls -l , long listing format,列出明细列表信息
ls -l *.db , 列出以.db结尾的文件的详细信息,*为通配符代表任意多个字符
ls s* , 列出目前工作目录下所有名称是 s 开头的文件

ll
---
ll 是long listing format的缩写,列出当前位置文件及文件夹的明细列表,包括隐藏文件。

pwd
---
pwd 是print working directory的缩写,打印当前工作目录

cd
---
cd 是change directory的缩写,切换工作目录
cd ~ , 切换到用户主目录
cd .. , 切到上一级目录
cd ../.. , ,切换到当前目录的上两层目录
cd - , 切到上一次所在的目录
cd / , 切到系统根目录
cd /usr , 切到usr目录

touch
---
创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
例如:touch a.txt,表示创建文件a.txt

mkdir
---
mkdir 是make directory的缩写,创建目录
mkdir -p ./dir1/dir2
表示在当前目录下创建dir1目录,再在其中创建子目录dir2
-p 表示父目录,parent当父目录不存在时,同时创建父目录,也就是递归创建目录。

rm
---
rm 是remove的缩写,删除文件
-r ,recursive递归删除,删除目录及目录下所有文件,非空也可以删除
-f ,force强制删除
rm -rf * ,强制删除当前目录下所有文件
rm word* ,删除以word开头的文件
rm *.txt ,删除以.txt为后缀的文件

cp
---
cp 是 copy 的缩写,复制文件
-r :recursive递归复制。若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和
文件。
例如:cp -ai ./dir1 ./dir2

mv
---
mv 是 move 的缩写,表示文件移动,该命令用来剪切文件或者将文件改名
语法:mv 源文件 目标文件或目录
mv dir1 dir2 ,移动一个文件到指定目录(目标文件存在即移动源文件到指定目录)
mv dir1 dir2 ,重命名一个文件或者目录(目标文件不存在就是更改文件名)
mv /a/a.txt /b/b.txt :移动a目录下的a.txt到b目录下,并改名为b.txt mv /b/b.txt /b/c :移动b目录下的b.txt到b目录下的c目录下

cat
---
cat 是 concatenate 的缩写,原意是连接和打印文件。
cat 的作用是显示文件内容,不可以进行修改。
cat 会一次显示所有的内容,适合 查看内容较少 的文本文件

-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

less
---
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移
动,而且 less 在查看之前不会加载整个文件。
语法:less [参数] 文件
Linux中命令cat、more、less均可用来查看文件内容,主要区别有:
cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合
使用,适用于文件内容少的情况;
more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,
提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less
都支持:用空格显示下一页,按键b显示上一页。
常用参数说明:
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)

head
---
显示文件头n行内容
语法结构:head [-n] 文件名
-n指定显示多少行
例如:head -n 10 file.txt
表示显示file.txt文件的前10行

tail
---
显示文件尾几行内容
语法结构:tail [-nf] 文件名
-n 指定显示多少行,没有-n默认10行 -f 用于实时追踪文件的所有更新
常用于查阅正在改变的日志文件
例如: tail -f -n 3 file.log
表示显示file.log文件的最后3行,并在file.log文件更新时实时追加显示

>、>>
---
echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
Linux 允许将命令执行结果 重定向到一个 文件
将本应显示在终端上的内容 输出/追加 到指定文件中
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾
例如: ls -l >file
表示将ls -l命令结果输出到file文件中,如果file不存在就创建,如果存在则覆盖原有内容。
例如:echo hello > a.txt

find
---
1)按照修改时间查找
· find ./ -mtime -1 · 表示查找当前目录下最近1天内(也就是1*24小时)修改过的文件
2)按照尺寸查找
· find ./ -size -1M · 查找当前目录下小于1M的文件
3)按照文件类型查找
· find ./ -type f · find ./ -type d · 查找当前目录下的文件或目录(f为普通文件,d为目录)
4)按照文件名称查找
· find . -name '*.txt' · 查找当前目录下的文件或目录(f为普通文件,d为目录)
5)查找到文件后执行操作
· find . -mtime +2 -exec rm {} \; · execute,执行
· -exec 命令 {} \表示对查出文件操作
6)、文件内字符串查找
· grep -i 'steven' ./ -r –n · 表示在当前目录及子目录下查找文件内容包含“steven”的文件
· -i是ignore的意思,表示忽略大小写,不区分大小写;
· -r是recursive,表示递归查找。

查看进程
---

ps -ef 是显示所有进程信息,后面是从进程中查找java进程是否存在:
| 可以将多条命令连接在一起执行
grep 命令用于查找文件里符合条件的字符串。
ps -ef|grep java
压缩、解压和打包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

tar
---
tar 是tape archive的缩写,原意是把文件打包并上传到磁带存档,打包就是将多个文件包成一个
大文件。
选项有:zxvf、zcvf、jxvf、jcvf -z 表示处理tar.gz文件;
-x 来自单词extract,提取、提炼的意思。 -x 表示解压;
-v 来自单词verbose;(vf可以理解成verbose file,也就是各种各样的文件)
-c 来自单词compress,压缩的意思。 -c 表示压缩文件;
-j 表示处理bzip2格式(后缀为tar.bz2)的文件;
-C 参数可以指定解压到特定目录;

1)、 tar -zxvf file.tar.gz -C ./test
解压tar.gz到当前目录下的test子目录中
2)、tar -zcvf /dir2/file.tar.gz ./dir1/
压缩tar.gz(把当前目录下的dir1目录及子目录下所有文件压缩到dir2目录下,文件名为file.tar.gz。当使
用tar -zxvf file.tar.gz解压出来时,就带有目录dir1) 3)、tar -jxvf file.tar.bz2
解压tar.bz2到当前目录下
4)、tar -jcvf file.tar.bz2 ./dir1/
压缩tar.bz2(把当前目录下的dir1目录及子目录下所有文件压缩到当前目录下,文件名为file.tar.gz2)
vim常用命令

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底
线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字
符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下“i”就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shix组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式

命令模式

在命令模式下按下:(英文冒号)就进入了命令模式。
命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出命令模式。