Linux基本命令

Linux基本命令
Saury1、Linux目录介绍
小技巧
- ctrl+shift+=放大终端窗口的字体显示
- ctrl+ - 缩小终端窗口的字体显示
- ctrl +u 清除光标前的内容
1 | / 操作系统的启动路径根路径 |
2、 Linux系统优化
1 | 关闭防火墙 方式1 |
1 | 关闭selinux |
3、Linux终端命令格式
0.1. 终端命令格式
1 | command [-options] [parameter] |
说明:
command
:命令名[-options]:
选项,可用来对命令进行控制,可以省略parameter
:传递给命令参数 ,可以是零个,一个,或者多个
[]
代表可选
1 | ls pycharm |
- ==开启多个终端==
1 | """ |
0.2. man查阅帮助信息
说明:
- 查阅
command
命令使用手册
1 | man command |
快捷键 | 功能说明 |
---|---|
q | 退出使用手册 |
↑ | 向上翻一行 |
↓ | 向下翻一行 |
Pgup | 向上翻一页 |
Pgdn | 向下翻一页 |
4、文件和目录常用命令
0.1. echo 文字内容
echo
会在终端中显示参数指定的文字,通常会和重定向联合使用
1 | echo hello |
0.2. 重定向 > 和>>
Linux允许将命令执行结果重定向到一个文件
将本应显示在终端上的内容 输出/追加到指定文件中
命令 | 描述 |
---|---|
> | 表示输出,回覆盖文件原有的内容 |
>> | 表示追加,会将内容追加到已有文件的末尾 |
1 | ll -lh >> text.txt |
1 | echo HelloPython > a |
0.3. 管道符 |
- Linux允许将一个命令的输出 可以通过管道 作为另一个命令的输入
==常用的管道命令有==:
more
分屏显示内容grep
在命令执行结果的基础上查询指定文本
1 | 将左边的输出当做右边的输入 |
0.4. pwd 查看当前路径
print work directory
0.5. ls查看目录文件
ls ——> list 查看当前文件夹下的内容
选项 | 含义 |
---|---|
-a | 显示隐藏文件 |
-l | 以列表的形式显示 |
-h | 以人性化的方式显示文件内容大小 |
-R | 递归显示子目录 |
0.6. cd 切换工作路径
change directory
绝对路径:
指的是在输入路径时,最前面是/或者~表示从 根目录/家目录开始的具体目录位置
相对路径:
指的是以当前目录开始,不以/或者 ~开头,表示不是根目录或家目录开始的目录
命令 | 含义 |
---|---|
cd | 命令可以改变相对路径和绝对路径 |
cd[路径] | 切换到指定路径 |
cd ~ | 切换到家目录 |
cd . | 切换到当前目录 |
cd .. | 切换到上一级目录 |
cd - | 上一次工作目录切换 |
0.7. 创建和删除操作
0.7.1. touch创建文件
- 创建文件或修改文件日期
- 如果文件不存在可以创建一个空白文件
- 如果文件已经存在,可修改文件的末次修改日期
1 | touch 文件名 |
0.7.2. mkdir新建目录
make directory
1 | sudo mkdir PythonDir |
0.7.3. rm删除文件或目录
remove
选项 | 含义 |
---|---|
-r | 递归删除目录下的内容,删除文件夹时必须加此参数 |
-f | 强制删除,忽略不存在文件,无需提示 |
0.8. 拷贝和移动文件
0.8.1. tree
1 | """ |
- 可以以树状图列出文件目录的结构
选项 | 含义 |
---|---|
-d | 只显示目录 |
0.8.2. mv 移动和重命名
- mv命令在同一个文件夹移动文件,即重命名功能
- 格式:
mv 原文件路径 目标路径
1 | mv ./demo.txt test.txt |
选项 | 含义 |
---|---|
-f | 覆盖前不询问 |
-i | 覆盖前询问 |
-n | 不覆盖已经存在的文件 |
0.8.3. cp复制
选项 | 含义 |
---|---|
-i | 覆盖前提示 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录文件,目标文件必须为一个目录名 cp src des 如果是复制文件夹,则加上-r 选项 |
0.9. 文件统计分析
0.9.1. cat 查看文件内容,合并文件
cat
命令可以用来查看文件内容,创建文件,文件合并,追加文件内容等cat
会一次显示所有内容,适合查看内容少的文本本件
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
0.9.2. more 查看文件内容(分页查看)
more filename 查看filename 文件的内容
可以分屏显示文件內容,每次只显示一頁內容,適用於 查看內容較多 的文本文件
快捷键 | 功能说明 |
---|---|
q | 退出 |
f | 前滚一屏幕 |
b | 回滚一屏幕 |
空格键 | 显示下一屏 |
enter键 | 一次滚动一行 |
0.9.3. grep 过滤行
- Linux系统中
grep
命令是一种强大的文本搜索工具 grep
允许对文本文件进行模式查找,所谓模式查找,又被成为正则表达式,
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包括匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
-c | 统计文件或者文本中包含匹配字符串的行数 |
-o | 只显示匹配具体的内容 |
1 | grep love demo.txt |
强大的文本搜索工具,能使用正则搜索文本,并把匹配的行打印出来
- -E 选项使用正则表达
1 | grep -E "[A-Z]+" filename |
==过滤出/var/log/secure
中出现的IP地址==
1 | grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|sort|uniq -c |
- 常用 的两种模式查找
参数 | 含义 |
---|---|
^a | 行首,搜寻以a开头的行 |
ke$ | 行尾,搜寻以ke结束的行 |
1 | grep a$ demo.txt |
0.9.4. less 按行阅读文档
0.9.5. head 查看文件头,默认看10行
1 | head |
0.9.6. tail 查看文件尾
1 | tail |
1 | [root@zs Desktop]# tail -f /var/log/secure |
0.9.7. awk 过滤列
1 | awk -F: '{print $1}' /etc/passwd |
过滤出IP地址
0.9.8. cut 按列提取
1 | cut |
/etc/passwd文件:系统用户配置文件,存储了系统中所有用户的基本信息,包括用户名、密码、用户 ID 和组 ID 等信息。并且所有用户都可以对此文件执行读(r)操作。
取出/etc/passwd文件中的用户名
0.9.9. sort 排序
- -u 去除重复行
- -r 降序排序,默认是升序
0.9.10. du 统计文件大小
1 | -s只统计⽬录总⼤⼩,-h⼈类易读 |
0.9.11. uniq 去重
说明:用于从排序后的文本文件或标准输入中去除重复行的命令行工具。它可以识别并删除相邻或非相邻的重复行,并将去重后的结果输出到标准输出。
1 | -c统计次数 |
0.9.12. wc 统计文件行数
1 | -l # 只显示行数 |
统计Linux中一共有多少个用户
1 | wc -l /etc/passwd |
统计Linux中一共有多少个用户是无法登录的
1 | cat /etc/passwd | grep nologin | wc -l # 但是过滤的不准 |
在/etc/passwd文件中末尾为:/sbin/nologin 表示该用户无法登录
1 | cat /etc/passwd | grep -v /bin/bash | wc -l |
说明:
- -v:表示用于反转匹配,即只输出那些不匹配指定模式的行。
0.9.13. stat 查看文件的具体存储细节和时间信息
0.9.14. diff 比较多个文件之间的差异
1 | diff file1 file2 |
0.9.15. tr 用于替换文本内容
0.10. 文件查找
0.10.1. which
提示:
/etc/passwd
是用于存放用户信息的文件/usr/bin/passwd
是用于修改用户密码的程序
which
命令可以查找并显示给定命令的绝对路径
1 | which ls # /usr/bin/ls |
0.10.2. whereis
找到命令的绝对路径
1 | whereis ls |
0.10.3. locate
将所有目录里的所有文件生成一个数据库,通过搜索数据库快速定位想要查找的文件,使用这个命令前需要更新数据库命令:updatedb,更新后在根目录中使用locate查找文件
1 | # locate [搜索关键字] |
0.10.4. find
1 | find |
如果省略路径,表示在当前路径查找
通配符,在使用find 命令时同时可用
1
2
3
4
5
6#搜索桌面目录下,文件名包含`1`的文件
find -name "*1*"
#搜索桌面目录下,所有以`.txt`为扩展名的文件
find -name "*.txt"
#搜索桌面目录下,以数字`1`开头的文件
find -name "1*"
-type
参数指定要查找的文件类型
在桌面创建passwd目录,然后进到passwd目录里面,创建一个passwd文件,里面内容是123456
1 | [root@zs passwd]# find /root/Desktop/ -name "passwd" #显示目录和文件 |
在根目录中将所有的zs.txt文件复制到root用户的家目录下
1 | find / -name zs*.txt -exec cp -a {} /root \; |
1 | **说明**: |
1 | find /boot -size +10M |xargs cp -r '{}' /tmp |
5、系统状态检测命令
0.1. 查看或配置网卡信息
一台计算机i中可能会有一个或物理网卡,和多个虚拟网卡,在Linux中,物理网卡的名字通常以
ensXX
表示··
127.0.0.1
本地回环/环回地址,一般测试本机网卡是否正常
1 | #查看网卡配置信息 |
网卡配置
先查看网卡ip a
或者ifconfig
命令
切换到配置文件的路径
1 | cd /etc/sysconfig/network-scripts |
使用vim ifcfg-ens33
查看
1 | TYPE=Ethernet |
里面有一些多余的,可以在命令模式下光标放在首行,然后先按方向键↓ 然后2dd,在按方向键↓ 然后9dd
把多余的删掉
1 | TYPE=Ethernet |
修改完后需要重启network服务
1 | systemctl restart network |
0.2. 测试网络连通性ping
ping命令 检查网络是否正常通信,==Linux下默认ping不会结束,使用ctrl+c强制结束==
示例 :ping www.baidu.com
1 | #检测到目标主机是否连接正常 |
col1 | col2 |
---|---|
-c | 指定ping几个数据包结束 |
-i | 指定发送数据包的间隔,单位是秒 |
-s | 指定发送数据的大小,单位字节 |
-t | 设置TTL的大小,TTL网络调数大小 |
0.3. 查看系统负载信息
1 | uptime |
0.4. 显示当前系统的内存使用量
1 | free |
0.5. 查看当前登录主机的用户终端信息
1 | who |
远程登录有两个:一个是操作界面,一个是下载文件的界面。
远程登录的是pts
本机登录的是tty1
0.6. 调取主机的被访问记录
1 | last |
Linux系统每次的登录信息都会被记录在日志文件中,可以通过last来查看
0.7. 路由追踪
1 | tracepath |
0.8. 显示网络连接、路由表、接口状态等信息
1 | netstat |
1 | route |
0.9. 显示执行过的历史命令
1 | history |
下图中的.bash_history文件也可以查看到历史命令
修改
1 | vim /etc/profile |
6、远程管理常用命令
0.1. 关机/重启shutdown/init
init 0 关机
init 6 重启
poweroff 关机
选项 | 含义 |
---|---|
-r | 重新启动 |
now | 立刻关机 |
- 不指定选项和参数,默认表示1分钟后关闭电脑
- 远程维护服务器时,最好不要关闭系统,而应该重启系统
1 | #重新启动操作系统,其中now 表示现在 |
0.2. SSH远程登陆
命令 | 对应英文 | 作用 |
---|---|---|
ssh 用户名@IP | secure shell | 远程登陆 |
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
SSH连接
在Linux中SSH是非常常用的工具,通过SSH客户端可以连接到运行了SSH服务器的远程机器上
- 默认端口号22,如果端口号默认,连接的时候可以省略
1 | """ |
- SSH是一种网络协议,用于计算机之间的加密登录,Linux下默认开启sshd服务,只有开启sshd服务才能进行ssh连接
- 可以使用 service sshd status 查看是否开启sshd服务, active(running)表示已经开启
- 没有开启可以 sudo apt-get install openssh-server
SSH高级
提示:有关SSH配置信息都保存在用户家目录下的
.ssh
目录下
(1)免密码登陆
步骤:
- 配置公钥
- 执行
ssh-keygen
即可生成SSH钥匙,一路回车即可
- 执行
- 上传公钥到服务器
- 执行
ssh-copy-id -p port user@remote
,可以让远程服务器记住我们的公钥
- 执行
非对称加密算法:
- 使用公钥加密的数据,需要使用私钥解密
- 使用私钥加密的数据,需要使用公钥解密
(2)配置别名
~/.ssh
文件夹下创建 config
文件
~/.ssh/config
里面追加内容:
1 | #mac 就是别名名称 |
保存之后,即可使用 ssh mac
实现远程登陆,scp 同样也可以
0.3. SCP复制文件
scp
就是secure copy
,是一个在Linux下用来进行远程拷贝文件的命令- 它的地址格式与SSH基本相同,需要注意的是,在指定端口时用的是大写的
-P
而不是小写的
1 | #把本地01.py文件复制到远程家目录的DeskTop/01.py |
选项 | 含义 |
---|---|
-r | 若给出的源文件是 目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P | 若远程SSH服务器 的端口不是22,需要使用大写-P 选项指定端口 |
注意:
scp
这个终端命令只能在Linux
或者UNIX
系统下使用- 如果在
Windows
系统中,可以安装PUTTY
,使用pscp
命令行工具或者安装FileZilla
使用FTP
进行问加你传输FileZilla
FileZilla
在传输文件时,使用的是FTP
而不是SSH
服务,因此端口号应设置为21
0.4. Windows安装SSH服务
- 打开 PowerShell 命令行(管理员)
- 查看是否已经安装
1 | Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' |
- 安装OpenSSH客户端
1 | Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 |
- 安装 OpenSSH 服务器
1 | Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 |
- win+R,cmd打开命令行,输入net start sshd,启动SSH
- win+R, cmd打开命令行,输入net stop sshd 关闭SSH
7、用户权限相关命令
0.1. 用户和权限
- 用户是Linux系统工作中重要 的一环,用户管理包括用户与组管理
- 在Linux中,不论是由本机还是远程登录系统,每个系统都必须有一个账号,并且对于不同的系统资源拥有不同的使用权限
- 在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限
- 对文件/目录的权限包括:
权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 2 |
执行 | execute | e | 1 |
用户组:LInux有一个组的概念,不同的用户分到一个组,那么同组下的用户可以用这个组的权限
⽤⼾学习必会的两个⽂件/etc/passwd
记录了⽤⼾的账⼾信息
zs:x:1000:1000:zs:/home/zs:/bin/bash
第⼀段:⽤⼾名
超级管理员:root⽤⼾ uid 0
普通⽤⼾:⾃⼰创建的⽤⼾,可以登录操作系统
程序⽤⼾:给予程序执⾏的时候⼀个⾝份,id号⼀般情况下1-999
第⼆段:密码占位符
第三段:⽤⼾的uid
第四段:⽤⼾的gid
第五段:⽤⼾的描述信息
第六段:⽤⼾的家⽬录
第七段:⽤⼾登录的解释器
另外一份文件vim /etc/shadow
存放了用户加密后的密码
第⼀段:⽤⼾名
第⼆段:加密后的密码
第三段:最近⼀次密码修改⽇期距离1970年到现在的天数,unix诞⽣
第四段:密码的最短有效期,3,⽤⼾三天内不能修改密码
第五段:密码的最⻓有效期,⼀般都是90天
第六段:密码过期7天前提醒
第七段:密码的不活跃期
第⼋段:账⼾的失效⽇期举例1970年1⽉1⽇的天数
1 | man crypt |
==root用户不受文件权限限制==
文件权限解释:
第一段:
1
2
3
4 l:链接
d:目录
c:字符型设备
b:块设备第⼆段:⽂件的所属者权限
第三段:⽂件的所属组权限
第四段:其它⽤⼾的权限
第五段:.
代表selinux的标签
要求设定saury密码的最⻓有效期时间为90天,设定saury账⼾登录系统的时候必须修
改⾃⼰的密码,设定saury账⼾失效时间为2023 10 1⽇
1
2
3 chage -M 90 saury 密码最⻓有效期
chage -d 0 saury ⽤⼾登录必须修改密码
chage -E 2023-10-1 saury 账⼾失效时间
0.2. 超级用户
- Linux系统中
root
账户通常用于系统维护和管理,对操作系统所有资源具有所有访问权限 - 在大多数Linux版本中,都不推荐直接使用root 账户登陆系统
- 在Linux安装过程中,系统会自动创建一个用户账号,而这个默认的用户就成为标准账户
sudo:
su
表示另一个用户的身份sudo
命令用来以其他身份来执行命令,预设的身份为root
- 用户
sudo
时,必须输入密码,之后有五分钟的有效期限,超过期限必须重新输入密码
0.3. 组管理命令
提示:创建组/删除组 的命令都需要通过
sudo
执行
命令 | 作用 |
---|---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
cat /etc/group | 确认组信息 |
chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
小提示:
- 组信息都保存在
/etc/group
中 /etc
目录是专门用来保存系统配置信息的目录
0.4. 用户管理
用户管理包括:创建用户,删除用户,修改用户帐号属性,创建用户组,修改用户组属性
创建用户/删除用户/修改其他用户密码的终端命令斗需要sudo
执行.
0.4.1. 创建用户/设置密码/删除用户
命令 | 作用 | 说明 |
---|---|---|
useradd -m -g 组名 新建用户 | 添加新用户 | -m自动创建用户家目录<br />-g 指定用户所在的组,否则会建立一个和同名的组 |
passwd 用户名 | 设置用户密码 | 如果是普通用户 直接使用passwd修改密码 |
userdel -r 用户名 | 删除用户 | -r 自动删除用户家目录 |
cat /etc/passwd | 确认用户信息 | 新建用户后,用户信息会保存在/etc/passwd文件中 |
1 | # 添加用户的一些选项 |
为⽤⼾设定密码以及查看密码状态
1
2
3
4
5 passwd -S saury #查看⽤⼾状态
useradd -u 0 -o -d /bin xjh &>/dev/null #创建与root同权账⼾
-o强制uid为0,-d指定家⽬录,&>/dev/null不管正确的输出还是错误的输出,全部不显⽰
echo 456|passwd --stdin saury #⾮交互设置密码
0.4.2. 查看用户信息
命令 | 作用 |
---|---|
id 用户名 | 查看用户UID和GID信息 |
who | 查看当前所有登陆的用户列表 |
whoami | 查看当前登陆用户的账户名 |
0.4.3. usermod
- usermod 用来设置用户的主组 /附加组,和登陆shell
- 主组:通常在新建用户时指定,在
/etc/passwd
的第四列GID对应的组 - 附加组:在
etc/group
中最后一列表示该组的用户列表,用于指定用户的附加权限
提示:设置了用户的附加组后,需要重新登陆才能生效
1 | #修改用户的主组 |
注意:默认使用
useradd
添加用户是没有权限使用sudo
以root
身份执行命令,可以使用下面的指令,将用户添加到sudo
附加组中
1 | usermod -G sudo 用户名 |
修改帐号属性
1 | * 命令:usermod |
0.4.4. 切换用户
- su - 用户名
- 加 - 同时切换到用户的家目录,不加直接在当前目录切换到新用户
- exit 退出当前登陆的账户
0.5. 修改文件权限
命令 | 作用 |
---|---|
chown | 修改拥有者 |
chgrp | 修改组 |
chmod | 修改权限 |
1 | #修改文件|目录的拥有者 |
chmod
可以修改用户/组/对文件/目录的权限命令格式:
1
2# +增加权限 -取消权限
chmod +/- rwx 文件名|目录名每个文件,都有三组不同的权限,第一组文件所有者,第二组文件所属组 ,第三组是其他用户
- u 文件所有者修改所有者权限,
chmod u+/-/=rwx filename
- u 文件所有者修改所有者权限,
- g 文件所有组 修改所属组权限:
chmod g+/-/=rwx filename
- g 文件所有组 修改所属组权限:
- o 其他用户 修改所属组权限:
chmod o+/-/=rwx filename
- o 其他用户 修改所属组权限:
命令:
chmod 755 文件名| 目录名
指定权限修改chmod
中第一个数字是代表所有者权限,第二个数字代表所属组权限,第三个数字代表其他人权限==八位赋权法==
权限 | 八位赋权法表示 |
---|---|
r | 4 |
w | 2 |
e | 1 |
0.6. 特殊 权限
0.6.1. 粘滞位
1 | 只对⽬录⽣效, |
0.6.2. suid
只对可执⾏⽂件⽣效
任何⽤⼾执⾏该⽂件都是以⽂件所属者⾝份运⾏的
8、系统信息相关命令
0.1. 时间和日期
命令 | 作用 |
---|---|
cal | (calendar)查看日历, -y选项可查看一年的日历 |
date | 查看系统当前时间 |
例如:
1 | date "+%Y-%m-%d %H:%M" # Y:年 m:月 d:日 H:时 M:分 S:秒 |
0.2. 查看磁盘的空间
命令 | 作用 |
---|---|
df -h | disk free 显示磁盘剩余空间 |
du -h 目录名 | disk usage 显示目录下的文件大小 |
- df -TH 查看磁盘分区,以及挂载情况
- du -sh [目录名] 查看目录大小
- du -h [文件名] 查看文件大小
选项说明:
参数 | 含义 |
---|---|
-h | 以人性化的方式显示文件大小 |
0.3. 查看内核/操作系统/CPU信息
- uname -a 查看内核/操作系统/CPU信息
- uname -i 查看硬件平台
- uname -m查看CPU
- uname -n节点名称
- uname -o操作系统
- uname -v 内核版本
- uname -r 发行版本号
0.4. 进程管理
- 所谓进程,就是当前正在执行的一个程序
命令 | 作用 |
---|---|
ps aux | process status 查看进程的详细状况 |
top | 动态显示运行中的进程并且排序 |
kill -9 进程代号 | 终止指定代号的进程 -9表示强行终止 |
pidof | 返回相应的进程ID |
0.4.1. ps
ps
默认只会显示当前用户通过终端启动的应用程序
ps
选项说明:
选项 | 含义 |
---|---|
a | 显示终端上的所有进程,包含其他用户的进程 |
u | 显示进程的详细状态 |
x | 显示没有控制终端的进程 |
1 | # 说明 |
0.4.2. top
top
查看进程实时运行情况,即系统资源实时使用情况- 退出
top
界面输入q
1 | **说明**: |
0.4.3. kill
- 使用
kill
命令时,最好只终结当前用户开启的进程,不要终止root
身份开启的进程,否则导致系统崩溃
0.4.4. pidof
用于查找指定名称进程的进程ID
9、 其他命令
0.1. wget 终端下载网络文件
1 | wget |
例如
1 | wget -p http://www.xxx.xx/ # 后面加上下载网页路径 |
0.2. history 查看历史命令
命令 | 描述 |
---|---|
history | 查看历史命令 |
history -c | 删除历史命令记录 |
0.3. 打包压缩
- 在不同操作系统中,常用的打包压缩方式是不同的
windows
下常用rar
Mac
下常用zip
Linux
下常用tar.gz
0.3.1. 1、打包/解包
dd命令
读取硬盘字节内容,主要完成磁盘对拷。生成一个100M 大小的文件
/dev/zero
是一个抽象的设备文件,实际并不存在,他有无数个0组成
1 | dd if=/dev/zero of=/root/Desktop/bigfile bs=1M count 100 |
tar
是可以把无法被压缩的目录转换成特殊的包文件格式,包文件可以被压缩- tar 选项说明:
选项 | 含义 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
注意:
f
选项必须放在最后,其他选项顺序可以随意
- tar命令格式
1 | #打包文件 |
1 | #打包 |
1 | 解包 |
0.3.2. 2、压缩和解压缩
(1)gzip命令
gzip
一般跟 tar
一起使用,完成打包压缩
==tar只负责打包并没有做压缩==,使用 -z 选项可以调用gzip压缩,完成打包压缩
使用tar打包压缩的文件名,一般命名为xxx.tay.gz区别与其他文件
压缩文件
1 | [root@zs Desktop]# tar -zcvf demo.tar.gz demo/ |
解压缩文件
1 | #解压缩文件 |
-C
指解压到哪里,解压的目录必须存在
(2)bzip2命令
bzip2使用方式跟gzip差不多,也是由tar去调用,使用 **-j
** 选项
bzip2压缩的文件命名采用 xxx.tar.bz2
压缩文件:
1 | tar -jcvf py.tar.bz2 a.txt b.txt |
解压缩文件:
1 | #解压缩 |
0.4. 软链接
使用 | 说明 |
---|---|
ln -s 被链接的源文件 链接文件 | 建立文件的软链接,用通俗的话将类似于Windows下的快捷方式 |
- 注意:
- 1.没有
-s
选项建立的是一个硬链接文件- 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
- 2.源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
1 | #绝对路径 |
10、软件管理
0.1. ubuntu软件管理
- apt (Advanced Packaging Tool),是Linux下的一款安装包管理工具
- 可以在终端方便安装、卸载,更新软件包
1 | #安装软件 |
案例演示:
1 | sudo apt install ssh |
0.2. Centos7软件安装
0.2.1. 源码安装
源码包:C语言写的,可以在linux的不同版本上安装
以安装apache服务为例
安装源码包程序,⼀定在软件解压⽬录下操作
1 | ./configure #⽣成makefile⽂件,makefile⽂件决定编译的顺序 |
启动apache服务
1 | /usr/local/apche2/bin/apachectl start |
切换到安装目录下/usr/local/apache2
⽹站根⽬录,放在该⽬录下的⽂件,会被访问者看⻅
0.2.2. rpm安装
Centos7的系统自动的rpm软件包的路径在/run/media/root/CentOS 7 x86_64/Packages
查看操作系统安装了那些程序rpm -qa
以 FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
这个软件包为例
查看安装包的信息 rpm -qpi
1 | --scripts 是查看软件安装前封装的命令,和删除前封装的命令 |
查看软件安装后命令字的位置
1 | rpm -qpl rmp软件包包 |
安装软件包 -i安装 -v 显示安装信息 -h井号替代进度条
卸载
1 | rpm -e lftp |
0.2.3. yum本地源
编辑本地yum源安装liboffice
1 | cd /etc/yum.repos.d/ |
设置本地源之前需要开启一个服务
1 | systemctl restart autofs #系统重启以后,服务会自动关闭 |
1 | cd /etc/yum.repos.d/ |
开始配置本地源
0.2.4. yum网络源
下载配置网络源安装httpd服务
把刚创建的本地源移动back目录里
先配置网络源
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
开始下载安装
1 | yum install -y httpd |
11、vim编辑器
vim三种模式:
- 命令模式 控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
- 插入模式 写入数据
- 末行模式 保存或退出文档,以及设置编辑环境
使用vim打开文件的时候,先进到命令模式。
此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置
0.1.1. 命令模式切换到输入模式
a 在光标的后一位切换到输入模式
o 表示在光标的下一行开头切换到输入模式。
i 在光标的位置切换到输入模式
0.1.2. 输入模式切换到命令模式
按ESC
键,就可以切换到命令模式
1 | gg #跳到第一行 |
0.1.3. 命令模式切换到末行模式
输入:
,切换到末行模式
1 | :wq #保存退出 |
0.1.4. 使用vim时ctrl+z把程序置于后台解决方法
如果在使用vim编辑器的时候按住了Ctrl+z,把程序置于后台
可以使用jpbs命令
查看后台进程
fg 1
把后台程序恢复到前台 1指的是后台进程的 编号