文章目录
Linux目录结构
树形目录结构
根目录:所有分区、目录、文件等的位置起点
整个树形目录结构中,使用独立的一个“/”表示
常见子目录的作用
- /root:系统管理员的家目录,只有管理员的家目录在根目录,其他普通用户家目录都在/home下。
- /home:普通用户的家目录。因为普通用户的权限不够,一般权限是只读,在/home下普通用户有正常读写权限。
- /boot:系统内核、启动文件。相当于Windows系统中C盘的windows文件夹。
- /dev :device,设备文件。硬件设备以文件形式保存在/dev里(一般用黄字表示)。
- /etc:配置文件。存放系统默认程序以及一些第三方安装程序的配置文件。一般是rpm yum安装。
- /bin:保存系统命令的文件目录,所有用户都可以执行的命令
- /sbin:保存系统命令的文件目录,只有管理员可以执行的命令
- /var:存放系统的可变化文件;存放各种日志文件。主要用来看日志:/var/log 。
- /opt:存放第三方应用程序或者是用户自定义的一些脚本文件等等。和系统没有关系。
- /lib:存放系统程序的动态连接共享库文件。类似windows的.dll文件。
- /usr:存放系统用户的工具和第三方安装的程序。一般是编译安装。
- /media:媒体文件
- /proc:存放映射系统信息的文件。
- /mnt:挂载存储设备。
- /tmp:存放系统的临时文件。
文件管理
cat命令
cat :全量查看文件内容,对一般文件可以使用。如果文件内容太大,全量打开速度会很慢。
cat -n :对所有行输出行的编号,即行号。
cat -b :对非空行输出行号,空白行不编号。
cat -s :把多个连续的空行缩编成一行。
注意:cat只能全量查看,不能写。
// cat命令举例:
cat -n test1
1 101
2
3 102
4
5
6 103
cat -b test1
1 101
2 102
3 103
cat -s test1
101
102
103
more命令
more :分页查看文件内容
按空格键,自动翻页到行尾
按b键,上一页
按回车键,下一行
按q键,退出阅读。Ctrl+c 也可以。
less命令
less :分页查看文件内容,可搜索内容
可用上下键或page up / page down翻行;用b键和空格翻页;q退出。
使用 / 可以搜索内容,匹配到的内容高亮显示。
tail命令
tail :从尾部向上查看文件的一定内容,行数限制默认10行。
tail -n :指定从下向上查看内容的行数,默认10行。
tail -f :动态查看,有变化会立刻显示在屏幕上。 默认跟踪最后10条。第一次展示只看最后10行,如果内容再发生变化,就会全量展示
// 展示/etc/passwd末尾3行
tail -n 3 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test1:x:1000:1000:test1:/home/test1:/bin/bash
// 动态展示/etc/passwd末尾4行
tail -4f /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test1:x:1000:1000:test1:/home/test1:/bin/bash
注意-n 和 -f 数字位置的区别。
head命令
head :从头向后看文件内容,行数默认10行。不能动态查看。
head -n :使用 -n 一定要带数字,否则报错。
wc命令
wc :word count,统计文件中的行数,单词数和字节数。
wc -l :统计文件当中的行数
wc -w :统计文件内容中单词的个数
wc -c :统计文件内容的字节数,即统计文件内容的大小。
wc /etc/passwd
44 90 2307 /etc/passwd // 在/etc目录下的passwd文件有44行,90个单词,2307字节
wc -l /etc/passwd
44 /etc/passwd
wc -w /etc/passwd
90 /etc/passwd
wc -c /etc/passwd
2307 /etc/passwd
grep命令
格式:grep 查找条件 查找内容 参数(查找对象)
grep :查找文件内容,过滤文本内容。不会对文件名进行过滤。相应查找内容会高亮显示。
grep -n :显示匹配内容,以及对应的行号。
grep -e :逻辑“或”,实现多个查找条件的匹配,相当于“or”。
grep -v :取反,显示不包含匹配内容的行。
grep -c :显示包含匹配内容的总行数(不是次数)。不常用。
// 显示/etc/passwd中包含root的行
grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
// 显示/etc/passwd中包含root的行,以及行号
grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
// 显示/etc/passwd中包含root或者mail的行
grep -e root -e mail /etc/passwd
root:x:0:0:root:/root:/bin/bash
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
// 显示/etc/passwd中不包含sbin的行
grep -v sbin /etc/passwd
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000:test1:/home/test1:/bin/bash
// -e -n -v 可以结合使用,如果是连用(如 -ne ),前后顺序需要注意, -en 会报错
// 显示/etc/passwd中包含root或者mail的行,并显示行号
grep -n -e root -e mail /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
| 管道符
一个命令只能有一个命令开头,通过管道符 “|” 可以把多个命令连接起来。处理文本内容的命令,都可以使用管道符连接。
特点:把前一个命令的处理结果,作为管道符后一个命令的参数。
前一个命令打印出来的结果,也是文本内容,也可以用 grep 等对文本的命令进行处理。
//列出当前目录下结尾为.txt的文件,并查找其中含有1,2,3的文件名
ls *.txt | grep [1-3]
1.txt
2.txt
3.txt
//看起来是grep对文件名进行了过滤,实际上文件名作为上一个命令输出的结果,
//形式上已经是输出的文本,所以grep可以对其过滤。
压缩和解压缩
压缩文件类型:(.zip .rar -windows系统),Linux系统:.gz .bz2
.bz2:压缩文件比较小,但速度比较慢
.gz:压缩速度比较快,但压缩文件相对较大
tar命令
格式:
打包:tar 选项 打包文件命名 打包内容(可多个)
解包:tar 选项 压缩文件名 -C 解压到目录
tar -z :调用gzip,.gz的方式进行压缩或解压缩
tar -j :调用bzip,.bz2的方式进行压缩或者解压缩
tar -c :创建.tar格式的包文件,打包,压缩,创建时,规范要求声明压缩类型,要求以.tar.gz 或 .tar.bz2 结尾
tar -x :解开 .tar 格式的包文件,解包,解压缩
tar -v :输出详细内容
tar -f :使用归档文件(这是必加的选项,不论是打包还是解包)
tar -C :解压时指定解压文件释放的路径,使用绝对路径。不指定路径时默认当前路径。
tar命令只能针对.gz .bz2文件。
// 把文件111,222以.bz2格式压缩,压缩包命名为num.tar.bz2,并展示详细内容
tar -jcvf num.tar.bz2 111 222
111
222
// 把压缩包 num.tar.bz2 以bzip解压到路径/opt/01,并展示详细信息
tar -jxvf num.tar.bz2 -C /opt/01
111
222
//便捷压缩:压缩文件111,222为num.tar.gz
tar -cf num.tar.gz 111 222
//便捷解压缩:解压缩num.tar.gz到/opt目录
tar -xf num.tar.gz -C /opt
//说明:便捷压缩和解压缩无需指定z或者j,只要压缩包命名符合规范,即以.tar.gz或.tar.bz2结尾,
就能自动调用并执行。这是常用的方式,要掌握。
unzip:解压zip压缩包。格式类似tar,指定解压路径 -d
unrar:解压rar压缩包。例:unrar x test1.rar /opt/test1
vim编辑器
vim是对编辑文本内容的工具。
vi :老版本编辑器
vim :vi的升级版,文本可根据类型着色,便于管理和编辑。
!vim :返回上一次编辑的文件
vim编辑器的三种模式
- 命令模式:使用vim打开文本,进入第一个界面:称作命令模式,又叫做视图模式。只能查看,不能编辑。
- 编辑模式:在命令模式下,按i,a都可以进入编辑模式,此模式可对文本内容进行编辑。按Esc退出到命令模式。
- 末行模式:在命令模式下,按shift+:,进入末行模式。按Esc退出末行模式,回到命令模式。
- 注意:vim编辑器中的单个大写字母执行的操作,大多可以用shift+小写字母的方式实现。
命令模式操作
翻页:Page Down 或 Ctrl+f,向下翻动一整页内容;Page Up键或 Ctrl+b,向上翻动一整页内容。
G :行间快速跳转至最后一行
M :跳转至当前页的中间位置
H :跳转至当前页面的第一行
L :跳转至当前页面的最后一行
#G 或 #gg :跳转到第#行,#是数字,对应跳转到的行数
x :同“Del”,从光标处进行删除单个字符
dd :删除光标所在行(有剪切功能)。
#dd,从当前行开始删除#行,#是数字,对应删除的行数。
d^ :当前行删除光标前(不含光标处)
d$ :当前行删除光标后(含光标处)
dw :删除光标处的整个单词。
R :shift+r,替换光标处的字符。
#yy :从光标所在行起复制#行,#是数字,代表复制的行数,默认为1
p :paste,粘贴。复制后,按p,从光标所在行向下粘贴(从次行开始粘贴)
P :向上粘贴
u :撤销,以一次退出编辑模式为基准点,或在命令模式下的一次操作为基准点,撤销上次基准点的所有操作,可以反复撤销,直到回到最老的基准点。
Ctrl+r :可以复原到新的基准点,可一直复原到最新。对应 u 的操作。
编辑模式操作
按i键,显示光标,在光标左边插入内容;
按I(大写的i)键,(shift+i)光标移动到所在行的行首,从行首开始插入内容;
按a键,在当前光标右边插入内容;
按A键,(shift+a)光标移动到所在行的行尾,开始插入内容;
按o键:在当前行的下一行插入新行内容;
按O键:(shift+o)在当前行的上一行插入新行内容。
末行模式操作
shift+:进入末行模式
set nu :编号,显示行号。
set nonu :取消行号,一般没人用。
w :保存内容
wq :保存并退出vim编辑。同 x ,或命令模式ZZ
wq!:强制保存退出(包保存,包退出,除非没权限)。
q :不保存退出。
q!:强制退出(一定不保存,包退出)。
快速剪切/粘贴:例:
1,5 m 10 :将1-5行的内容剪切粘贴到第10行下面
1,5 co 10 :将1-5行的内容复制粘贴到第10行下面
/word :从光标处向下搜索字符串“word”,n向下定位匹配结果,N向上匹配。
?word :从光标处向上搜索字符串“word”
s /old/new :old和new都指代字符串,将当前行中查找到的第一个字符串“old” 串替换为“new”
s /old/new/g :将当前行中查找到的所有字符串“old” 替换为“new”
#,# s/old/new/g :在行号“#,#”范围内替换所有的字符串“old”为“new”,注意:这里s和 / 中间没有空格!
% s/old/new/g :在整个文件范围内替换所有的字符串“old”为“new”,此处s和 / 中间没有空格!