1.当前目录
cd ./
2.上级目录
cd ../
3.查看所有目录
ls
查看文件的属性与权限等等数据
ls -l
3.1 文件权限
查看包括隐藏的所有文件: ls -a
文件权限有:
r 可读
w 可写
x 可执行
- 没有权限
查看包括隐藏的所有文件: ls -a
查看当前目录下面所有文件的权限: ls -la
eg: - rw- r-- r--
第一项为文件类型,这里的例子是“-”,后面每三个分别组成拥有者权限、用户组其它用户权限、其它用户权限
拥有者权限为:rw-,表示具有读写权限、没有可执行权限。
用户组其它用户权限为:r--,表示只有可读权限。
其它用户权限:r--,表示只有可读权限。
第一项文件类型有:
- 表示文件类型为普通文件
d 表示文件类型为目录文件
l 表示文件类型为链接文件link file
p 为管道文件pipe
s 为套接字文件socket
4.切换目录
cd
eg:cd /home/neusoft/
5.压缩文件
zip -r 备份名.zip 备份的文件
eg:zip -r ywgz_20230424.zip ywgz
#解压文件
unzip xxx.zip
6.查看进程
ps -ef|grep 文件名/程序名
#杀进程:
kill -9 进程号PID
7.创建目录
mkdir 文件目录名
7.1 递归创建目录/创建多层目录
mkdir -p 文件目录名1/文件目录名2/文件目录名3/文件目录名4
错误写法:mkdir 文件目录名1/文件目录名2/文件目录名3/文件目录名4
7.2 创建有权限的目录
mkdir -m 权限 文件名
权限:用数字4、2、1表示读、写、可执行权限,比如4 + 2 + 1 = 7,那么7表示读、写、可执行权限,4 + 2= 6表示读写权限
权限三个数字组成分别是所有者/拥有者权限、用户组/用户组其它用户权限、公共组成/其它用户权限
eg:764表示拥有者的权限为7(4 + 2 + 1,读写可执行),用户组其它用户权限为6(4+2,读写),其它用户权限为4(可读)##修改文件权限:
chmod 764 file1 --文件执行
chmod 777 -R dir -- 文件夹执行 加上-R,表示递归修改文件夹下面所有文件的权限
8.删除空的目录
rmdir 目录名称
删除多层目录: rmdir -p 文件目录名1/文件目录名2/文件目录名3/文件目录名4
9.复制文件和目录
cp 复制的文件 新文件名
-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于上面的“-p -d -r”选项
eg:
- 将某个文件复制一份,并定义新文件名称 cp anaconda-ks.cfg kickstart.cfg
- 将某个目录复制一份,并定义新目录名称 cp -r Documents Doc
- 复制某个文件时,保留其原始权限及用户归属信息 cp -a kickstart.cfg ks.cfg
- 将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问 cp -f ks.cfg /etc
- 将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖: cp anaconda-ks.cfg ks.cfg /etc
- 将当前目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc: cp ~/.bashrc /tmp/bashrc
10.移除文件或目录
rm xxx.text
-f :直接删除,忽略不存在的文件,不会出现警告信息;
-i :在删除前会询问是否删除
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
eg:
- rm 文件名
- rm -1 文件名
- rm -r 目录
11.移动文件与目录,或修改名称
mv [选项] 源文件或目录 目标文件或目录
-f :如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
eg:
①当mv命令中的第二个参数类型(目标)是文件时,实现**重命名**源文件或目录的功能
mv test1 test.txt 将文件test1 重命名为test.txt
②当mv命令中的第二个参数类型(目标)是目录时,实现的是移动源文件和目录的功能
mv test.txt ../test 将文件test.txt 移动到上一级文件目录test中
③移动并覆盖已存在的文件,不会询问
mv -f test.txt ../test2
④移动并覆盖已存在的文件,会询问
mv -i test.txt ../test2
⑤当源文件是最新更新时,才可以覆盖目标文件
mv -u test.txt ../test2
12.ip用于显示或设置网络设备
ip link list / ip -s link list #用 ip 命令显示网络设备的运行状态
ip link show # 显示网络接口信息
ip link set eth0 up # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
ip addr show # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
ip route show # 显示系统路由
ip route add default via 192.168.1.254 # 设置系统默认路由
ip route list # 查看路由信息
ip neigh list #显示邻居表
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
ip link | grep -E '^[0-9]' | awk -F: '{print $2}' #获取主机所有网络接口
13.查看文件内容
- 由第一行开始显示文件内容: cat 文件名
- 一页一页的显示文件内容: more 文件名
在 more 这个程序的运行过程中,你有几个按键可以按的:
空格键:向前移动一个屏幕,也就是翻页
Enter键: 一次移动一行
/关键字 :搜索关键词;
q :退出more模式
- 一页一页翻动: less 文件名
less运行时可以输入的命令有:
空格键:下一页
↓ :上一行;
↑ :下一行;
G :第一页
g : 最后一页
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :退出 less 这个程序;
14.vi/vim 的使用 编辑文本内容
Vim模式:
14.1 命令(普通)模式:控制光标移动,可对问你本进行复制、黏贴、查找等工作,以下是普通模式常用的几个命令
i -- 切换到输入模式,在光标当前位置开始输入文本。
: -- 切换到底线命令模式,以在最底一行输入命令。
:w -- 保存文件。
:q -- 退出 Vim 编辑器。
:q! -- 强制退出Vim 编辑器,不保存修改
x -- 删除当前光标所在处的字符。
a -- 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O -- 在当前行的上方插入一个新行,并进入插入模式。
dd -- 删除当前行。
yy -- 复制当前行。
p -- 粘贴剪贴板内容到光标下方。
P -- 粘贴剪贴板内容到光标上方。
u -- 撤销上一次操作。
14.2 输入模式:正常的文本录入,在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式,在输入模式中,可以使用以下按键
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
14.3 末行(底线命令)模式: 保存或退出文档,以及设置编辑环境,在命令模式下按下 :(英文冒号)就进入了底线命令模式,在底线命令模式中,基本的命令有(已经省略了冒号)
:w 保存文件。
:q 退出 Vim 编辑器。
:wq 保存文件并退出 Vim 编辑器。
:q! 强制退出Vim编辑器,不保存修改
按 ESC 键可随时退出底线命令模式
注意
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。
在Vim中,无法直接从输入模式切换到末行模式,每次在编写玩文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。
eg:编辑完要保存,需要先按esc返回普通模式 ,然后按:进入底线命令模式,最后按wq进行保存退出
eg:
1.编辑一个名为 runoob.txt 的文件,不存在时会自动新建
vim runoob.txt
2.按下 i 或者 o 或者 a 进入输入模式(也称为编辑模式),开始编辑文字
3.编辑完成后,按下 ESC 按钮回到命令模式
4.在一般模式中按下 :wq 保存后离开 vi
5.结束
15.命令模式下的操作
15.1 移动光标
方向键
Ctrl + r -- 重做上一次撤销的操作。
Ctrl + f 向下移动一页
Ctrl + b 向上移动一页
Ctrl + d 向下移动半页
Ctrl + u 向上移动半页
Home或者 0 移动到这一行的最前面字符处
End或者$ 移动到这一行的最后面字符处
G 移动到这个档案的最后一行
nG n 为数字。移动到这个档案的第 n 行 例如 20G 则会移动到这个档案的第 20 行
gg 移动到这个档案的第一行
15.2 搜索替换操作
/word 向光标之下寻找一个名称为 word 的字符串
?word 向光标之上寻找一个字符串名称为 word 的字符串:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !
eg: 举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
:100,200s/vbird/VBIRD/g
:1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代
15.3 删除、复制与粘贴
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)(常用)
nx n为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』
dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴 (常用)
ndd n为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘(常用)
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行(常用)
nyy n为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行,举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行
c 重复删除多个数据,例如向下删除 10 行, 10cj
u 复原前一个动作。(常用)
Ctrl + r 重做上一个动作。(常用)
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)
15.4 命令模式切换到输入模式的可用的按钮说明
i, I 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用)
r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
####上面这些按键中,在 vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!
Esc 退出编辑模式,回到一般模式中(常用)
15.5 命令模式切换到底线命令模式的可用的按钮说明
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
#####注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ 不保存,强制退出。效果等同于 :q!。
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
16.vim 环境的变更
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
17.yum常用命令
1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <keyword>
8. 清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <keyword>
8. 清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
18.apt 常用命令
列出所有可更新的软件清单命令:sudo apt update
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
更新指定的软件命令:sudo apt update <package_name>
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
删除软件包命令:sudo apt remove <package_name>
清理不再使用的依赖和库文件: sudo apt autoremove
移除软件包及配置文件: sudo apt purge <package_name>
查找软件包命令: sudo apt search <keyword>
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions