03. Linux常用命令
03. Linux常用命令
- linux镜像源修改参考链接
https://developer.aliyun.com/mirror/
https://developer.aliyun.com/mirror/centos
- linux最小化安装后,部分工具缺失问题
yum update
yum clean all
yum install net-tools
yum install wget
1. 善⽤ tab 键进⾏⽂件名/路径名/命令的⾃动补全!
2. 可以使⽤ 上/下 ⽅向键, 快速获取之前输⼊过的命令
3. 如果命令开始执⾏后, 停不下来, 或要取消执⾏, 可以使⽤快捷键: Ctrl + C
1. Linux终端命令格式
Linux终端命令格式介绍
command [-options] [parameter]
说明:
Command: 命令名称,
[-options]: 命令选项,[] 表示可选项,可有可无; 根据命令可以显示更加丰富的数据
[Parameter]: 命令参数,[] 表示可选项,可以不传,也可以传一个或多个; 命令的操作对象,一般文件、目录、用户和进程等都可以作为参数被命令操作
举例:ls -alh /bin
2. 查看命令帮助信息
1. help
command -–help
说明:
显示 command 命令的帮助信息
举例:ls --help
2. man
man command
说明:
查看command命令的使用手册
man操作键说明:
空格键:显示手册的下一页
F: 显示下一页
Enter键:滚动显示手册的下一行
B: 显示上一页
q: 退出
/word: 搜索word字符串
举例:man ls
3. 文件和目录常用命令
1. 查看目录内容:ls
命令格式: ls [-lah(选项)] [文件或目录]
ls 参数说明:
-l: 以列表方式详细显示内容信息
-a: 显示所有文件,包含隐藏文件及目录
-h: 配合-l显示出文件的大小
[目录]:列出指定目录的文件
常用通配符(正则表达式):
* : 表示0到多个任意字符
? : 表示一个任意字符
[abcd] : 表示可以匹配a、b、c、d中的任何一个字符
[a-f] : 匹配从a到f范围内的的任意一个字符
2. 切换目录:cd
命令格式:cd [目录名称]
cd命令说明:
cd或者cd ~ : 切换到当前用户的主目录(/home/用户目录)
cd . : 切换到当前目录
cd .. : 切换到上一级目录
cd - : 切换到上一次所在的目录 注意:文件及目录名称区分大小写
绝对路径:以根路径或家路径开头,表示从根目录/家目录 开始的具体目录位置
相对路径:不以根路径或者家目录开头,表示相对当前目录所在的目录位置
3. 创建和删除操作: touch、mkdir、rm
1. 创建文件:touch
命令格式:touch 文件名
说明:
如是文件名不存在,创建对应的文件,创建多个文件用空格隔开,touch 1.txt 2.txt
如果文件名已存在,则更新文件的修改时间。
2. 创建目录:mkdir
命令格式:mkdir 目录名称
说明:
可以跟上 –p 选项,实现递归创建。
目录名称不能与当前目录下的文件或目录同名
3. 删除文件或目录:rm
命令格式:rm [-ifr(选项)] 目录名或文件名
选项参数说明:
-i : 表示交互式执行,删除前会询问是否删除。
-f : 表示强制删除,忽略不存在的文件,无需提示。
-r : 表示删除文件夹及文件夹下所有的内容。
注意:使用rm删除文件时无法恢复,建议使用rm时跟上 –i 参数
4. 拷贝和移动文件:cp、mv
1. 复制文件:cp
命令格式: cp 源文件 目标文件
常用选项说明:
-f : 强制覆盖已存在的目标文件而不提示
-i : 交互式复制,覆盖时会提示用户确认
-r : 若源文件为目录,则复制该目录下的所有内容
-v : 显示复制的进度
TIPS: cp命令被系统设置了别名,-i参数是文件覆盖提示确认操作,可以看到别名 ,也就是当执行cp的时候,其实执行的是cp -i参数。 输入alias命令,显示 cp=‘cp -i’,
在CP命令前面加一个斜杠\,实现强制覆盖文件 # \cp -rf 源码文件 目标文件
2. 移动文件: mv
命令格式: mv 源文件 目标文件
常用选项说明:
-f : 强制覆盖已存在的目标文件而不提示
-i : 交互式复制,覆盖时会提示用户确认
-v : 显示复制的进度
mv命令除了移动文件之外还可以用来修改文件名称
5. 查看文件内容: cat、less | more、grep
常用查看文件命令:
cat 文件名: 适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
less | more 文件名: 适用于查看内容较多的文件,用于分屏显示文件内容
grep 文件名: 适用于查看内容较多的文件,搜索文件里面的关键字的行信息
1. 查看文件命令: cat
命令格式: cat 文件名
命令说明:
1、cat可以用来查看文件(cat a.txt)、创建文件(cat > b.txt)、合并文件及追加文件(配合重定向符> 或 >>)
2、cat查看文件时会一次显示所有内容,适用于内容较少的文件
3、cat a.txt b.txt 将两个文件的内容合并后显示在终端窗口,注意只是合并显示、并没有真正合并两个文件
常用选项说明:
-b : 对非空行输出行编号
-n : 对所有行输出行编号
2. 查看文件命令: more
命令格式: more 文件名
命令说明:
1、more命令用于分屏显示文件内容,每次显示一页内容
2、适用于查看文件内容较多的文件
more操作键说明:
空格键: 显示文件的下一页内容
Enter键 : 滚动显示文件下一行内容
b : 显示文件的上一页内容(回滚上一页)
f : 显示文件的下一页内容
q : 退出
3. less: 操作、功能同more, less -N xxx: 显示行号
查看文件命令:grep
命令格式: grep [OPTIONS] PATTERN [FILE...]
命令说明:
grep 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
常用选项说明:
-v : 显示不包含匹配文本的所有行(相当于取反)
-n : 显示匹配的行及行号
-i : 忽略大小写
4. grep 常用正则表在式:
^a : 搜索行首内容以a文本开头的行。 例如:grep –n '^a' 1.txt
ke$: 搜索行尾内容以ke文本结尾的行。例如: grep –n 'ke$' 1.txt
[Ss]igna[Ll]: 匹配[]中的任意一个字符,搜寻匹配单词为 SignaL、Signal、signaL、signal的行;
例如: grep –n ' [Ss]igna[Ll] ' 1.txt
6. 重定向(>/>>)和管道符(|)、pwd、clear、which、where
1. 其他命令-重定向: >、>>
说明:
Linux允许将命令执行结果重定向到另一个文件中。
可以将显示在终端的内容通过重定向添加或追加到另一个文件中。
> 重定向符号表示输出到新文件中,会覆盖文件中原有内容。
>> 重定向符号表示追加到新文件中,不会覆盖文件中原有的内容。
例1: ls -l > 1.txt
例2: ls –l >> 1.txt
例3:cat 1.txt > 11.txt
例4:cat 11.txt >> 22.txt
2. 其他命令-管道符号: |
说明:
Linux 允许将 一个命令的输出结果 可以通过管道做为另一个命令的输入
常用的管道命令:
more :分屏显示执行结果
grep : 通过grep过滤执行结果的内容
例1: ls -l /usr/bin | more
例2: ls /usr/bin | grep '^au'
3. 其他命令: pwd、clear、which、where、echo
1. 命令格式: pwd
说明:pwd命令用于显示当前所在的目录。
2. 命令格式:clear
说明:clear命令用于清除当前屏幕终端所有内容。
3. 命令格式: which 工具名称
说明: which命令用于查找工具或者程序的安装位置
例如: which ls
which:
这条命令主要是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令
whereis:
这个命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广
4. 命令格式:echo
说明:回显
echo 123
清空a.txt内容
echo '' | > a.txt
通过重定向命令删除 /var/log/messages文件中的内容。
true 命令的作用是定向清空文件内容而不删除文件
true > /var/log/message
4. 系统信息相关命令
1. 重启与关机命令-reboot/shutdown
1. 重启命令: reboot
- 命令说明: 执行命令后立即重新启动操作系统。
2. 关机命令: shutdown
命令说明:执行命令后,提示一分钟后关闭操作系统。
shutdown常用命令选项
shutdown –r now :重新启动操作系统,shutdown会给别的用户提示
shutdown -h now :立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 :系统在今天的20:25 会关机
shutdown -h +10 :系统再过十分钟后自动关机
2. 进程信息相关命令-ps/top/kill
1. 查看系统进程: ps
命令格式: ps –aux
常用选项说明:
-a : 显示终端上的所有进程,包括其他用户的进程
-u : 显示进程的详细状态
-x : 显示没有控制终端的进程
ps命令一般会结合 grep使用,来查找特定应用程序的进程
例如:ps –aux|grep bin
另一种查看方式: ps -ef|grep bin
2. 查看系统进程: top
命令格式: top
说明:top命令用于实时动态查看系统进程相关信息。
常用交互快捷键说明:
M :根据内存的大小降序显示进程信息
P :根据CPU使用率大小降序显示进程信息
q :退出top命令 或者按 ctrl+c也可以退出
3. 关闭进程: kill
- 命令格式: kill -9 进程号
- 说明:该命令表示强制关闭对应的进程。
- 进程号可以通过ps或者netstat等命令获取到
3. 端口信息相关命令-netstat/lsof
端口号
说明: 想要连接⾄计算机, 需要使⽤ IP 地址, 再想获取在计算机上运⾏程序,需要通过端⼝号 注意: 同⼀台计算机不能有多个程序同时使⽤同⼀个端⼝号, 因此在运⾏程序时, 如果提示"端⼝号被占⽤", 那就需要先找到占⽤端⼝号的程序并结束掉, 然后才能运⾏⽬标程序 常⻅默认端⼝号: HTTP: 80 HTTPS: 443 SSH: 22 MySQL : 3306
1. 查看系统监听端口(查询端⼝号信息): netstat (最好root用户操作)
命令格式: netstat [-anptu]
说明:netstat 可以查看当前系统网络状态及对应软件使用的端口
常用选项说明:
-a : 显示所有已打开的端口
-p : 显示对应的进程id
-n : 用数字显示对应的端口,不用别名显示
-t : 显示所有tcp协议端口
-u : 显示所有udp协议端口
注意: netstat 一般会配合管道符命令 grep 来查看特定进程的端口信息
- 查看系统内已开放的端⼝号
- netstat -anptu
- 通过端⼝号获取对应程序及进程 ID
- netstat -anp | grep mysql
2. 查看系统监听端口(查询端⼝号信息): lsof (必须root用户操作)
命令格式: lsof -i
说明:lsof(list open files)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息。
命令说明:
lsof -i : 如果不给出条件,则默认显示所有进程打开的所有
lsof -i:3306 : 列出使用端口3306的进程信息
提示: 在Linux中启动软件时,会出现因为端口被占用而无法启动的情况,
这个时候就需要我们用lsof -i命令查看安装软件要使用的端口是否被占用。
5. 查看日志信息相关命令
1. 查看日志信息命令: head
命令格式: head 文件名
命令说明:默认显示日志文件有前10行内容。
- head -20 文件名: 显示日志文件的前20行内容。
2. 查看日志信息命令: tail
- 命令格式: tail 文件名
- 命令说明:默认显示日志文件最后10行内容。
- tail -15 文件名: 显示日志文件最后15行内容。
- tail -f 文件名: 实时显示日志的文件信息
- ping 127.0.0.1 >> ping_log
- tail -f ping_log
3. 通过 head 和 tail 同时使⽤获取特定⾏和⾏之间信息
- 需求: 获取某⽂件 11-15 ⾏的信息
- head -15 demo | tail -5
6. 查看操作系统信息
uname -a
- 说明:显示系统的详细信息,包括内核版本、主机名等
cat /proc/version
- 命令可以查看当前 Linux 内核的版本信息以及编译时的一些相关参数。
cat /etc
- 说明:查看版本当前操作系统发行信息
7. 用户权限和管理
1. 权限概念及修改
权限的基本概念Linux系统中文件和目录的权限有以下几种
权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 2 |
执行 | excute | x | 1 |
无权限 | - | 0 |
2. Linux文件/目录权限查看
Linux中可以通过 ls -l 来查看文件或目录的权限。
3. 修改用户权限chmod-字母法
字母法命令格式: chmod u+r 文件名
用户类型说明:
u : 表示文件所属用户
g : 表示文件所属的用户组
o : 表示其他用户
a : 表示所有用户
权限设置说明:
+
: 增加权限-
: 撤消权限=
: 设定权限
chmod u+x, g-w, o=rwx a.txt
chmod a=rwx a.txt
-R 参数说明
chmod -R 是用于修改文件或目录权限的命令。 -R 选项表示递归地应用权限更改,即对指定目录及其包含的所有文件和子目录进行权限修改。
4. 修改用户权限chmod-数字法数字法
命令格式: chmod 755 文件名
命令说明:755这三个数字分别表示的是 文件拥有者权限/用户组权限/其他用户权限
5. 用户管理-新增账户、查看登录账户
新增用户
useradd 用户名
命令说明:
useradd admin123
- 创建一个普通账户admin123
passwd 用户名
- 给用户设置密码
userdel -r 用户名
- 删除用户 (-r:删除用户的主目录)
查看所有用户
- cat /etc/passwd
查看登录账户
who
选项说明:
-
q 或 --count : 只显示用户的登录账号和登录用户的数量-
u 或 --heading : 显示列标题
查询登录用户名
- whoami
6. 用户管理-切换用户、设置用户密码
切换用户
su - 或者 su 用户名
命令说明:
- su - : 切换到root用户
- su 用户名 : 切换到指定用户下
注意:由普通用户切换到其他用户时,需要输入密码
设置密码
passwd 或者 passwd 用户名
命令说明:
- passwd : 用于设置当前用户的密码
- passwd 用户名 : 用于设置指定用户的密码 (执行命令的用户必须为root)
7. 退出登录账户
命令格式
- exit
命令说明
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
果是切换后的登陆用户,退出则返回上一个登陆账号。
8. 其他常用命令
1. 查找文件命令-find
命令格式
- find [路径] -name 文件名
- 命令说明:
- 路径省略掉表示在当前目录下查找文件;
- 文件名可以通过通配符来表示。
案例:
- find . -name test.sh
- 查找当前目录下所有名为test.sh的文件
- find . -name '*.sh'
- 查找当前目录下所有后缀为.sh的文件
- find . -name test.sh
2. 软/硬链接-ln -s
软链接
命令格式
- ln -s 源文件 链接文件
命令说明:
软链接只是指向源文件的一个链接,类似于windows的快捷方式;
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用;
软链接可以链接目录
删除源文件,链接文件会失效
硬链接简介
- ln命令不带 -s 参数时,创建的是硬链接;
- 硬链接的文件大小与源文件相同,即使删除源文件,链接文件依然存在
- 硬链接只能是文件,不能是文件夹
- 删除源文件,链接文件仍可使用
3. 打包和解包命令 - tar
打包指的通常是将多个文件或目录打包成一个归档文件。而压缩则指的是利用算法对文件进行处理,从而达到缩减占用磁盘空间的目的
说明
- 打包和压缩命令主要用于备份系统中的相关文件
打包命令
- tar -cvf 打包文件.tar 被打包的文件/路径
解包命令
- tar -xvf 打包文件.tar
- 打包和压缩命令主要用于备份系统中的相关文件
常用选项说明
- -f : 指定档案文件名称,f后面一定时.tar文件,所以必须放选项最后
- -c : 创建打包文件
- tar -cf a.tar ./*
- tar -cf a.tar ./*.txt
- tar -cf a.tar ./a/* ./b/*.txt
- -x : 解开档案文件
- tar -xf a.tar
- -v : 列出归档解档的详细过程,显示进度
- tar -cvf b.tar ./*
- tar -xvf b.tar
- -t : 列出档案中包含的文件
- tar -tf a.tar
4. 打包和压缩 – 压缩/解压缩(gzip)
说明
- tar 与 gzip 命令结合使用实现文件 打包、压缩,压缩后的扩展名为 xxx.tar.gz
gzip命令格式
- gzip [选项] 被压缩文件gzip
注意
- 实际应用是在 tar 选项中增加一个 -z 选项来调用gzip实现打包和压缩的过程
压缩文件
- tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
- tar -zcvf c.tar.gz ./*.txt
解压缩文件
- tar -zxvf 打包文件.tar.gz
- tar -zxvf c.tar.gz
解压缩文件到指定目录
- tar -zxvf 打包文件.tar.gz -C 目标路径
- tar -zxvf c.tar.gz -C ./d
- 实际应用是在 tar 选项中增加一个 -z 选项来调用gzip实现打包和压缩的过程
5. 打包和压缩 – 压缩/解压缩(biz2)
说明
- tar 与 biz2 命令结合使用实现文件 打包、压缩,压缩后的扩展名为 xxx.tar.bz2
注意
实际应用是在tar 选项中增加一个 -j 选项来调用biz2实现打包和压缩的过程
压缩文件
- tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
- tar -jcvf d.tar.bz2 ./*.txt
解压缩文件
- tar -jxvf 打包文件.tar.bz2
- tar -jxvf d.tar.bz2
- tar -jxvf d.tar.bz2 -C ./b
6. 打包和压缩 – 压缩/解压缩(zip/unzip)
说明
- 通过zip压缩文件不需要指定后缀名
- yum install -y zip unzip
命令格式
zip [选项] [参数] [文件]
压缩文件
zip [-r] 压缩文件名.zip 被压缩的文件
zip -r test.zip ./*
解压缩文件
- unzip -d 解压后的目录 打包的文件.zip
- unzip -d ./ test.zip
7. yum 软件包管理⼯具
说明:
yum( Yellow dog Updater, Modified)是⼀个在 Linux 系统中常⽤的软件包管理器。
yum 提供了查找、安装、删除某⼀个、⼀组甚⾄全部软件包的命令,⽽且命令简洁⽽⼜好记。
常⽤命令:
yum list: 列出所有可安裝的软件清单
yum search: 查找软件包
yum install <package_name>: 安装指定的软件
yum update <package_name>: 更新指定的软件
yum update: 更新所有软件
yum remove <package_name>: 删除软件包
yum list installed: 查看已安装的软件包
yum make cache: 重新获取软件包信息,以便在后续的操作中能够更准确地进行依赖检查和软件包管理。