Linux常用工具简介及命令
文章目录
一、Linux文件操作的命令
1.Linux常用远程连接工具
Finallshell(推荐、类似于订阅的软件) 、Xshell(个人/商用)、Putty、SocureCRT(收费)、MobaXtem(免费)
2.帮助信息查看
-
–help查看 -------》格式 command (命令的名称) --help
-
man 查看 ----》 格式 man command (命令的名称)
-
常用的快捷键操作:
- 空格键:显示手册的下一页 - Enter键:滚动显示手册的下一行 - B键:显示上一页 - F键:显示下一页 - /word :可以搜索对应的关键字(word) - Q键:退出man命令显示模式
3.文件或目录常用的命令
3.1[重点]查看目录内容 : ls
-
格式 ls [-lah] [文件或目录]
选项说明: -l :列表的形式显示出文件或目录的内容 -a :显示所有的文件或目录,包含隐藏文件 -h :显示出文件的目录或者大小 参数:文件或项目 ls # 列举当前目录的文件内容 ls -l ls -a # 查看当前目录下所有的文件信息,包含隐藏文件 ls -lh # h一定要和l一起使用 ls -lh / # 查看根目录下所有的文件信息,并以列表的方式详细列出对应文件的大小 ls -lha # 以列表方式,更加人性化,显示所有文件 ls -lha /usr/bin # 查看 /usr/bin文件夹里面的内容 ls /bin/*.sh # 查看/bin目录下的所有 .sh结尾的文件
-
通配符可以匹配符合条件的文件或者目录
* :表示匹配0到多个任意字符 ? :表示匹配单个任意字符 [abcd] :表示匹配括号内(a、b、C、d中的)任意的一个字符 [a-d] :a-d表示的是从a到d的范围,也就是a、b、C、d.从中匹配任意一个字符。
-
新建普通文件 touch
3.2 目录切换 --》 cd
-
格式: cd [目录路径]
-
绝对路径(唯一): 根目录开头(/)开头或家目录开头(~),目录与目录之间用 / 分隔
-
相对路径(有个参照物):不根目录开头(/)开头或家目录开头(~),是以当前路径开始
注意:文件及目录名称区分大小写
cd ~ #返回到家目录
cd . #切换到当前路径
cd ./ #和上面等价, ./ 当前路径,前面有个.
cd .. #切换到上一级路径
cd - #切换到上一次所在的路径
pwd #查看当前所在路径
3.3【了解】创建文件:touch
- 格式:touch 文件名 (多个文件名之间用空格隔开)
如果创建的文件名不存在,则新建一个文件;如果已存在,则更新文件的修改时间
3.4[重点]创建目录 :mkdir
-
格式: mkdir 目录名称(多个目录之间用空格隔开)
通过-p的选项,实现多个层级的目录创录
例: mkdir -p dir1/dir2/dir3如果创建的目录名称已存在,则创建失败。
-
mkdir mike:在当前路径下,新建mike文件夹
-
mkdir /mike:在根路径下,新建mike文件夹
注意:一般情况下是不能在根目录下随便创建目录及文件夹的。如果需要 创建可使用 sudo mkdir 文件夹 输入密码提供权限即可创建
3.5 [重点]删除文件或目录: rm
- 命令格式: rm [-irf]目录名或者文件
选项说明:
-i :表示交互式执行删除操作,删除前会有提示(默认选项)
-f:表示强制删除,忽略不存在的文件
-r:表示删除目录及目录下所有的内容
注:当要求删除以xxx开头的文件时,例如 删除以test开头的文件,需要添加* ---》 rm -rf test*
注意:使用rm删除文件时无法恢复,建议使用rm时跟上 -i 参数
3.6 [重点]文件或目录的复制: cp
- 命令格式: cp 源文件目标文件
选项说明:
-f: 强制覆盖已存在的文件而不提示
-i:覆盖已存在的文件时,会提示用户是否确认
-r:复制目录及目录下所有的内容时,必须带上-r参数
-v:显示复制的进度(-般不用)
3.7 [重点]文件或目录的移动: mv
-
命令格式: mv 源文件 目标文件
选项说明: -f: 强制覆盖已存在的目标文件而不提示 -i:覆盖文件时提示用户是否确认 -v: 显示移动的进度(-般不用) 修改文件名a.txt为b.txt mv a.txt b.txt
3.8[重点]查看文件内容
3.8.1 [了解]查看文件内容: cat
-
cat命令: 适用于查看文件内容较少的文件
cat可以用来查看文件、创建文件、合并文件、追加文件常用选项: -b: 表示输出非空的行编号 -n: 表示输出所有的行编号
3.8.2 [了解]查看文件内容: more
-
more命令:查看文件内容较多的文件
命令格式: more 文件名常用的快捷键操作: 空格:显示下一页内容 enter (回车) :滚动显示下一行 b键:显示上一页内容 f键:显示下一页内容 q键:退出
3.8.3 [重点]查看文件内容: grep
-
grep搜索文件并显示对应的关键字行信息
命令格式: grep ‘关键’ 文件名常用选项: -V:显示不包含匹配文本的所有行(取反) -n: 显示匹配的行及行号 -i:忽略大小写
-
grep正则表达式
‘^a’:表示搜索的文件内容行是以a开头
‘ke$’:表示搜索的文件内容行是以ke结尾
[Ss]igna[Ll]:匹配[]中的任意一个字符,搜寻匹配单词为SignaL、Signal、 signaL、signal的行;
grep -n '[Ss]ignal[Ll]' test.txt
3.9 [知道]重定向: >和>>
将命令输出的结果写入到(重定向)到另外的文件当中。
>:将命令输出的结果覆盖到对应的文件当中
>>:将命令输出的结果追加到对应的文件当中
cat 1.txt > 2. txt 将1.txt的内容覆盖掉2.txt的内容
cat 1.txt >> 2.txt 追加1.txt文件到2.txt后面
cat 1.txt 2.txt > 3.txt 将1.txt和2.txt的内容合并到3.txt文件当中
3.10 [知道]管道符命令 |
说明:通过管道符命令可以将一个命令的执行结果,传给另一个命令当做参数来使用。
常用的管道符命令:
more: 分屏显示执行结果
grep: 通过grep过滤执行结果的内容
1| 1s -l /usr/bin | more
2| 1s /usr/bin | grep ^au 显示只包含au开头的内容
3| 1s /usr/bin | grep $a 显示只包含a结尾的内容
3.11 [了解]其他的命令: pwd、clear、which
- pwd:查看当前目录的路径
- clear: 清屏
- which 工具名称:查找工具的安装位置
3.12【拓展】回显:echo 和管道符配合使用
二、信息系统相关的命令
1.[了解]重启和关机的命令
- 重启命令: reboot
- 关机命令: shutdown
对应的选项:
shutdown -r now 表示重启时,会给其他用户发送提示信息
shutdown -h now 表示立刻关机
shutdown -h 20:25 表示定时关机,晚上8:25定时关机
shutdown -h +10 表示从当前时再往后十分钟进行关机
2. [重点]查看系统进程: ps
- 命令格式: ps -aux 另一种方式:ps -ef | grep bin(苹果电脑用)
- 查找特定的进程信息 命令格式: ps -aux | grep ‘关键字’
选项说明:
-a选项:显示所有用户的进程
-u选项:显示进程的详细状态
-x选项:显示没有控制终端进程
一般会结合grep及管道符去查找特定的进程信息
例子: ps -aux | grep 'sedispatch' 查找系统进程当中包含sedispatch关键字的进程信息
windows查看进程 ctrl+shift+esc,详细信息中查看进程号就是PID
3. [知道]实时查看系统的进程信息: top
- 命令: top (动态进程)
快捷键:
M(按shift+m) 可以按内存的使用率降序排列显示进程的信息
P(按shift+p) 可以按cpu的使用率降序排列显示进程的信息
4.[重点]关闭进程: kill
- 命令格式: kill -9 进程ID
进程id一般会通过ps命令去查看到。
-9 表示的是强制的关闭对应的进程。 - 注意:需要注意当前执行操作的用户,普通用户不能关闭其他用户的进程,只能关闭自己打开的进程
5.[重点]查看系统监听端口: netstat
- 命令格式: netstat [-anptu] l grep '关键字’ (root用户 操作)
选项说明:
-a 选项:查看所有已打开的端口
-n 选项:以数字方式显示已打开的端口,不显示别名
(http:80 https:443 mysql:3306 ssh:22 )
-p 选项:显示对应的进程的PID
-t 选项:显示出tcp协议的端口
-u 选项:显示出tcp协议的端口
注意: netstat 一般会配合管道符命令grep来查看特定进程的端口信息
例如: netstat -anp lgrep mysql
- 例子:
查看当前系统中已打开的TCP协议端口: netstat -anpt
查看当前系统中是否已打开3306的端口: netstat -anptu| grep ‘3306’
查看当前系统中是否已打开http的服务: netstat -aptu | grep ‘http’
mac: netstat -anp tcp
6.[知道]查看系统监听端口: Isof
- 命令格式: lsof -i (root用户 操作)
-i:表示查看所有已打开的进程的端口
Isof -i:端口号表示查看特定的端口是否已打开 - 例子:查看系统所有已打开的进程端口: lsof -i
查看系统中3306的端口是否已打开: lsof -i:3306
查看系统中http的服务端口是否已打开: Isof -i:80 - 使用场景:
当我们去启动某个应用程序时,该应用程序的端口有可能被其他程序所占用。
那么此时就可以通过netstat或者lsof查看对应的端口被谁占用了。
然后关闭对应的进程,重新启动要启动的应用程序即可。
7.[了解]查看日志信息:head
- head 文件名
。默认查看文件前10条信息
。head -20文件名:查看文件的前20条信息
。例子: head -30 log.log查看当前目录下log.log的前30条信息
8.[重点]查看日志信息: tail
- tail -f 文件名
tail 文件名 默认查看文件的最后10条信息
tail -20 文件名 查看文件的最后20条信息
tail-f 文件名 实时查看日志的文件信息 - 例子:
tail -30 log.log查看当前目录下log.log文件的最后30条信息
tail -f log.log实时查看当前目录下log.log文件的日志信息 - 工作中的使用场景:
当测试发现问题时,需要去查看后台的日志信息,具体操作步:- 通过tail -f日志文件名(实时打开对应的日志文件并查看)
- 操作系统复现对应的问题(此时会将操作中出现错误的日志信息打印到tail -f的查看窗口中)
注:手动添加内容的时候,tail -f 文件名 看不到动态变化,当使用重定向时可以看到:
例如: 一个终端 tail -f 文件名
另一个终端 ping www.baidu.com > 文件名
9.[了解]查看操作系统信息
- cat /proc/version
查看当前操作系统版本信息 - cat /etc/issue
查看版本当前操作系统发行信息
三、用户权限和管理
1.[了解]权限的概念
权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 2 |
执行 | execute | x | 1 |
无权限 | - | 0 |
- l开头:表示link连接文件
- d开头:表示文件夹
- -开头:表示文件
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.xt 表示对当前目录下的1.xt文件的其他用户权限设置为可读可写可执行
3.[重点]修改用户权限chmod:数字法
- 命令格式: chmod 755(数字代码的和;三个分别代表三组) 文件名
4.[了解]增加用户、查看登录用户
- 增加用户: useradd 用户名
useradd -g root admin1 :创建用户时,并指定用户的组为root组 - 查看当前登录的用户: who
- 删除用户: userdel -r 用户名 ;-r 的作用把用户目录都删除
5.[知道]切换用户、修改密码、退出
- 切换用户
su - : 切换到root用户,需要输入root的密码
su 用户名 : 切换到指定的用户下,如果是从root用户下切换,不需要输入密码 - 修改密码
passwd : 修改当前用户的密码,需要输入原密码
passwd 用户名 :修改指定用户的密码,必须通过root用户来实现 - 退出登录的用户 exit
如果是图形界面,退出当前终端。
如果是使用ssh远程登录,退出登陆账户。
如果是切换后的登陆用户,退出则返回上一个登陆账号。
四、其它命令
1.[重点]查找文件
- 命令格式: find [路径] -name 文件名
路径可有可无,没有的情况表示的是当前目录
文件名可以使用通配符,使用通配符时,文件名必须在引号里面 - 例子: find . -name test.sh 在当前目录及子目录下查找名称为test.sh的文件
- 例子: find . -name ‘abc*.txt’ 在当前目录及子目录下查找名称为abc开头的txt文件
2.[了解]软链接:In
- 命令格式:In -s 源文件名(使用绝对路径) 链接文件名(相当于创建了快捷方式)
- 说明:
源文件必须使用绝对路径
不加 -s 参数表示的是硬链接(Linux有,windows没有) - 软链接与硬链接的区别
软链接的源文件被删除后,链接文件失效,没有意义。
硬链接的源文件被删除后,链接文件还存在,链接文件的大小与源文件的大小一致。
硬链接只能是普通文件,不能是文件夹。
3.[知道]打包和解包
- 打包:把多个变为一个
- 解包:把1个提取为多个
- 打包和解包:
格式: tar -cvf 打包文件名.tar 文件或目录(打包)
tar -xvf 打包文件名 (解包)
选项说明:
-C:创建打包文件
-v:显示出打包或解包的进度
-f:用于指定打包文件名(一般f放在选项的最后, 用于指定打包的文件名)
-x:表示解包对应的文件
指定路径解包: tar -xvf 包名 -C(大写) 解包存放的文件夹或路径
tar -xvf xx.tar -C abc
4.[重点]压缩和解压缩: gzip
- 压缩文件: tar -zcvf 压缩文件名.tar.gz 被压缩的文件或目录
-z选项:调用gzip实现打包和压缩的过程 - 解压缩文件: tar -zxvf 压缩文件名
将压缩文件解压到指定的目录: tar -zxvf 压缩文件名 -C 目标路径
5.[知道]压缩解压缩: biz2
- 通过-j选项来调用biz2实现打包和压缩的过程
- 压缩文件: tar -jcvf 压缩文件名.tar.bz2 被压缩的文件或目录
- 解压缩: tar -jxvf 压缩文件名.tar.bz2
6.[知道]压缩解压缩: zip、 unzip
- 压缩文件: zip [-r] 压缩文件名 文件或目录
-r选项:表示压缩的是一 个目录
压缩的文件名可以不带后缀名 - 解压缩: unzip -d 解压目录 压缩的文件名
五、vi编辑器
1.[了 解] vi编辑器介绍和三种模式 .
- vi编辑器简介
vi是linux系统下的命令行工具
vi和vim是同一 个编辑器
编辑之神器 - vi编辑器的三种模式
命令行模式:通过对应的快捷键或者命令来管理文件
插入模式:在插入模式下主要是用来对文件的增加、修改操作
末行模式:主要是用来保存文件或者退出文件
2.[知道] vi编辑器 三种模式的切换
- 首次进入到VI编辑器使用的是 命令行模式
- 可以通过i、 I、a、A进入到插入模式。在插入模式中按ESC键可以回到命令行模式
- 可以通过shift + : 进入到末行模式。
在末行模式可以通过以下快捷键来进行操作:
w :表示保存文件并回到命令行模式
q :表示的是退出vi编辑器
! :表示的是强制
wq! :表示的是强制保存并退出vi编辑器
3.[知道] vim基本操作
1.打开文件
2.编辑
3.修改
4.适当使用快捷键(命令模式下使用)
yy:复制
p:粘贴
dd:剪切,如果只剪切不粘贴,变成删除
5.保存
vi编辑器快捷键:
-
进入拆入模式:
i:插入光标前一个字符 I:插入行首 a:插入光标后一个字符 A:插入行未 o: 向下新开一行,插入行首 0:向上新开一行,插入行首.
-
命令模式操作-移动光标
h:左移 {:按段移动,上移 j:下移 }:按段移动,下移 k:上移 Ctr-d: 向下翻半屏 1:右移 Ctr-u: 向上翻半屏 M:光标移动到中间行 Ctr-f: 向下翻一屏 L:光标移动到屏幕最后一行行首 Ctr-b:向上翻一屏 G:移动到指定行,行号 -G gg:光标移动文件开头 w:向后一次移动一个字 G:光标移动到文件末尾 b:向前一次移动一个字
-
命令模式操作-删除命令
x:删除光标后一个字符,相当于Del X:删除光标前一个字符,相当于Backspace dd:删除光标所在行,n dd删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 d0:删除光标前本行所有内容,不包含光标所在字符 dw:删除光标开始位置的字,包含光标所在字符
-
命令模式操作-其他命令(1)
u:一步一步撤销 Ctr-r:反撤销 .:重复上一次操作的命令 >>: 文本行右移 <<:文本行左移 yy:复制当前行,n yy复制n行 p:在光标所在位置向下新开辟一行粘贴
-
命令模式操作-其他命令(2)
v:按字符移动,选中文本 V:按行移动,选中文本可视模式可以配合d, y, >>, << 实现对文本块的删除,复制,左右移动 r:替换当前字符 R:替换当前行光标后的字符,直到按esc /: str查找 n:下一个 N:上一个
gg:光标移动文件开头 w:向后一次移动一个字 G:光标移动到文件末尾 b:向前一次移动一个字
-
命令模式操作-删除命令
x:删除光标后一个字符,相当于Del X:删除光标前一个字符,相当于Backspace dd:删除光标所在行,n dd删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 d0:删除光标前本行所有内容,不包含光标所在字符 dw:删除光标开始位置的字,包含光标所在字符
-
命令模式操作-其他命令(1)
u:一步一步撤销 Ctr-r:反撤销 .:重复上一次操作的命令 >>: 文本行右移 <<:文本行左移 yy:复制当前行,n yy复制n行 p:在光标所在位置向下新开辟一行粘贴
-
命令模式操作-其他命令(2)
v:按字符移动,选中文本 V:按行移动,选中文本可视模式可以配合d, y, >>, << 实现对文本块的删除,复制,左右移动 r:替换当前字符 R:替换当前行光标后的字符,直到按esc /: str查找 n:下一个 N:上一个