文章目录
- Linux文件系统和目录
linux是树形结构的文件系统,其中 / 是系统的根目录,其他目录都是它的子节点 - linux的命令帮助信息
command --help
(相对简洁)
man command
(详细)
一、文件操作命令
1. 目录和文件操作
- 查看目录
ls # 列举当前目录的文件内容
ls - lha # 以列表方式,更加人性化,显示所有文件
l和h需要配合使用
ls -lha /usr/bin # 查看/usr/bin中的文件内容
- 通配符
* :表示匹配0到多个任意字符
?:表示匹配单个任意字符
[abcd]:表示匹配括号内(abcd中)任意的一个字符
[a-d]:a-d表示从a到d的范围,也就是abcd中匹配任意一个字符
- 切换目录
cd 或 cd~: 切换到当前用户的主目录(/home/用户目录)
cd . : 切换到当前目录
cd .. : 切换到上一级目录
cd - : 切换到上一次所在的目录
- 创建文件
touch 文件名
(多个文件名之间用空格隔开)- 如果创建的文件名不存在,则新建一个文件
- 如果创建的文件已存在,则更新文件修改的时间
- 创建目录
mkdir 目录名称
(多个目录之间用空格隔开)- 使用-p选项,可以递归创建
- 如果创建的目录名称已存在,则创建失败
- 删除文件或目录 – rm
-r: 表示交互式执行,删除前会询问是否删除
-f: 表示强制删除,忽略不存在的文件,无需提示
-r: 表示删除文件夹及文件夹下所有的内容
- 复制文件 cp
cp 源文件 目标文件
-f :强制覆盖已存在的文件而不提示
-i :覆盖已存在的文件时,会提示用户是否确认
-r :复制目录及目录下所有内容时,需要带上-r参数
- 文件或目录的移动 mv
mv 源文件 目标文件
2. 查看文件内容
cat
cat:适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
常用选项说明:
b:对非空行输出行编号
n:对所有行输出行编号
more
more:适用于查看内容较多的文件,用于分屏显示文件内容
常用快捷键操作:
- 空格:显示下一页内容
- enter: 滚动显示下一行
- b: 显示上一页内容
- f: 显示下一页内容
- q: 退出
grep
grep: 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
常用选项说明:
-v: 显示不包含匹配文本的所有行(相当于取反)
-n: 显示匹配的行及行号
-i: 忽略大小写
- grep常用的正则表达式:
^a:搜索行首内容以a文本开头的行,eg: grep -n '^a’1.txt
ke$:搜索行尾内容以ke文本结尾的行,eg:grep -n ‘ke$’1.txt
[Ss]igna[Ll]:匹配[]中的任意一个字符,搜索匹配单词为SignaL、Signal、signaL、signal的行,eg: grep -n ‘[Ss]igna[Ll]’
3. 重定向
- linux允许将命令执行结果重定向到另一个文件中
- > 重定向符号,表示输出到新文件中,会覆盖文件原有内容
- >>重定向符号,表示追加到新文件中,不会覆盖文件原有内容
4. 管道
- linux允许将一个命令的输出结果通过管道作为另一个命令的输入
- 常用的管道命令:
more:分屏显示执行结果 (eg: ls -l /usr/bin | more)
grep:通过grep过滤执行结果的内容 (eg: ls /usr/bin | grep ‘^au’)
- 拓展:回显echo
echo ’ ’ > /var/log/message :通过回显删除文件内容
二、信息系统相关命令
- 重启和关机(了解)
- 重启:reboot
- 关机:shutdown
- shutdown -r now 表示重启时,会给其他用户发送提示信息
- shutdown -h now 表示立刻关机
- shutdown -h 20.15 表示定时关机
- shutdown -h +10 表示从当前时再往后10分钟进行关机
1. 查看系统进程 – ps
-
ps -aux
- a:显示终端上所有进程,包括其他用户的进程
-u:显示进程的详细状态
-x:显示没有控制终端的进程 -
ps命令一般结合grep使用,来查找特点应用程序的进程
ps -aux|grep bin
ps -ef|grep bin -
top
快捷键(shift+m)可以按内存的使用率降序排列显示进程的信息
快捷键(shift+p)可以按cpu的使用率降序排列显示进程的信息 -
kill
kill -9 进程ID
进程id可以通过ps命令去查到
-9 表示的是强制关闭对应的进程
注意:普通用户不能关闭其他用户的进程,只能关闭自己打开的进程
2. 查看系统监听端口 – netstat
netstat [-anptu] | grep ‘关键字’
(root用户操作)
-a 选项:查看所有已打开的端口
-n 选项:以数字方式显示已打开的端口,不显示别名(http:80 https:443)
-p 选项:显示对应进程的pid
-t 选项:显示出tcp协议的端口
-u 选项:显示出udp协议的端口- lsof -i (root用户操作)
-i:表示查看所有已打开的进程的端口
lsof -i:端口号
表示查看特定的端口是否已打开- 查看系统中3306端口是否已打开:lsof -i:3306
- 查看系统中http服务器的端口是否已打开:lsof -:80
- 使用场景:当我们去启动某个应用程序时,该应用程序的端口有可能被其他程序所占用,那么此时就可以通过netstat或者lsof查看对应的端口被谁占用了,然后关闭对应的进程,重新启动要启动的应用程序即可。
3. 查看日志信息命令 – head / tail
- 格式:
head 文件名
- 说明:
- 默认显示日志文件的前10行内容
- head -20 文件名:显示日志文件的前20行内容
tail 文件名
- 说明:
- 默认显示日志文件最后10行的内容
- tail -15 文件名:显示日志文件最后15行内容
- tail -f 文件名:实时显示日志的文件信息
- eg:
tail -30 log.log:查看当前目录下log.log文件的最后30条信息
tail -f log.log:实时查看当前目录下log.log文件的日志信息
三、用户权限和管理
1. linux中的权限
权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 2 |
执行 | execute | x | 1 |
无权限 | - | - | 0 |
2.修改用户权限chmod
- 字母法(了解)
- 格式:chmod u+rwx 1.txt
- 用户选项:
u:表示的是所属的用户
g:表示的是所属的用户组
o:表示的是其他用户
a:表示的是所有用户 - 设置选项:
+:表示增加权限
- :表示撤销权限
=:表示设置权限 - 例子:
chmod u+w 1.txt:表示对当前目录下的1.txt文件的当前用户增加写的权限
chmod g-x 1.txt:表示对当前目录下的1.txt文件撤销用户组的执行权限
chmod o=rwx 1.txt:表示对当前目录下的1.txt文件的其他用户权限设置为可读可写可执行
- 数字法(重要)
3.增加用户、查看登录用户
- 新增用户:useradd 用户名
- 命令说明:
useradd admin123:创建一个普通账户admin123
useradd -g root admin2:创建用户admin2,并指定用户的组为root
- 查看登录用户:who
- 选项说明:
-q或–count:只显示用户的登录账号和登录用户的数量
-u或者–heading:显示列标题
- 删除用户
userdel -r 用户名,-r 作用把用户目录都删除
4. 切换用户、修改密码、退出
- 切换用户:su - 或者 su 用户名
- 命令说明:
su - :切换到root用户
su 用户名:切换到指定用户下
注意:由普通用户切换到其他用户时,需要输入密码
- 设置密码:passwd 或者 passwd 用户名
- 命令说明:
passwd:用于设置当前用户的密码
passwd 用户名:用于设置指定用户的密码(执行命令的用户必须为root)
- 用户退出 exit
当前用户无上一个用户,输入exit会退出shell
四、其他常用命令
1. 文件查找和软链接
- 查找文件命令
- 命令格式:find [路径] -name 文件名
路径省略掉表示在当前目录下查找文件
文件名可以通过通配符来表示 - 案例:
find . -name test.sh 查找当前目录下所有名为test.sh的文件
find . -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件
- 软链接:ln
- 命令格式:ln -s 源文件 链接文件
- 软链接只是指向源文件的一个链接,相当于windows的快捷方式
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
- 软链接可以链接目录
- 硬链接简介
- ln命令不带-s参数时,创建的是硬链接
- 硬链接的文件大小和源文件相同,即使删除源文件,链接文件依然存在
- 硬链接只能是普通文件,不能是文件夹
[white@localhost ~]$ mkdir mike
[white@localhost ~]$ ln -s /home/white/mike mike_link
[white@localhost ~]$ ls -l
- 删除源文件后,软链接无意义
2. 打包和解包【知道】
- 格式:
tar -cvf 打包文件名 文件或目录 (打包)
tar -xvf 打包文件名 (解包) - 选项说明:
-c:创建打包文件
-v:显示出打包或解包的进度
-f:用于指定打包文件名 (一般f放在选项的最后,用于指定打包的文件名)
-x:表示解包对应的文件
[white@localhost ~]$ touch 1.txt 2.txt 1.png 2.png
# 打包文件
[white@localhost ~]$ tar -cvf mike.tar *.txt *.png
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ rm *.txt *.png
[white@localhost ~]$ ls
Desktop Downloads Music Public Templates
Documents mike.tar Pictures software Videos
# 解包,不指定路径,则放在当前路径
[white@localhost ~]$ tar -xvf mike.tar
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ ls
1.png 2.png Desktop Downloads Music Public Templates
1.txt 2.txt Documents mike.tar Pictures software Videos
[white@localhost ~]$ mkdir abc
# 指定解包后文件的存放目录 -C
[white@localhost ~]$ tar -xvf mike.tar -C abc/
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ ls abc/
1.png 1.txt 2.png 2.txt
3. 压缩解压缩
1. gzip
- gzip命令格式:gzip [选项] 被压缩的文件
选项说明:
-r:压缩所有子目录
-d:解压- 注意:实际应用是在tar选项中增加一个
-z
选项来调用gzip实现打包和压缩的过程
- 注意:实际应用是在tar选项中增加一个
- 压缩文件:tar -zcvf 压缩文件名.tar.gz 被压缩的文件或目录
-z选项:调用gzip实现打包和压缩的过程 - 解压缩文件:tar -zxvf 压缩文件名
将压缩文件解压到指定的目录:tar -zxvf 压缩文件名 -C 目标路径
2. biz2 - 说明:tar与biz2命令结合实现文件打包、压缩,压缩后的扩展名为xxx.tar.bz2
- 注意:实际应用是在tar选项中增加一个
-j
选项来调用gzip实现打包和压缩的过程
- 注意:实际应用是在tar选项中增加一个
- 压缩文件:tar -jcvf 压缩文件名.tar.bz2 被压缩的文件或目录
-z选项:调用gzip实现打包和压缩的过程 - 解压缩文件:tar -jxvf 打包文件.tar.bz2
3. zip、unzip【知道】 - 压缩文件:zip [-r] 压缩文件名 文件或目录
-r:表示压缩的是一个目录
压缩的文件名可以不带后缀名 - 解压缩:unzip -d 解压目录 压缩的文件名
4. vi 编辑器
- 简介:vi是linux系统下的命令行工具(vi和vim是同一个编辑器)
- 三种模式:
- 命令行模式:通过对应的快捷键或者命令来管理文件(首次进入)
- 插入模式:在插入模式下主要是用来对文件进行增加、修改操作
- 末行模式:主要是用来保存文件或者退出文件
- vi三种模式的切换
- 可以通过i、I、a、A进入到插入模式,在插入模式中按ESC可以回到命令行模式
- 可以通过shift +:进入到末行模式
w:表示保存文件并回到命令行模式
q:退出vi编辑器
!:表示的是强制
wq!:表示强制保存并退出
- 快捷键(命令模式下使用)
yy:复制
p:粘贴
dd:剪切,如果只剪切不粘贴,就变成删除