dos命令窗口 CTRL + shift + + 字体放大
CTRL + shift + — 字体缩小
shutdown -h now 表示关闭Linux系统
Linux查看帮助
命令 --help
简化版帮助信息
man命令
空格,下翻一页
b,上翻一页
q,退出
Linux常用命令
注意:
Linux中所有的目录和文件名大小写敏感;
以 . 开头的文件为 隐藏文件;
. / 代表当前目录;
… / 代表上一级目录
eg: .a.txt 表示隐藏文件a.txt
./ a.txt 表示当前目录a.txt
…/ a.txt 表示上一级目录a.txt
1. ls 显示目录内容 (list)
#显示当前目录内容
ls
ls ./
#显示当前目录的子目录内容
ls abc
ls ./abc
#显示根目录内容
ls /
#显示根目录下的bin目录内容
ls /bin
#显示上级目录内容
ls ..
ls的常用参数
- -a 显示所有文件,包括隐藏文件
- -l 显示文件或者目录的详细信息
- -h 是和 l 配合使用的,显示文件大小的时候,用人性化方式显示
#显示所有文件
ls -a
#显示详细信息
ls -l
#显示详细信息,文件大小用人性化方式显示
ls -hl
#显示所有文件的详细信息
ls -al
ls -l 返回结果说明
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aLSVAOD4-1629000894855)(C:\Users\jss\AppData\Roaming\Typora\typora-user-images\image-20210630162133111.png)]
第一位: - 代表文件,d代表目录
第二位开始是文件存取控制
一共9个位,每三位是一组,分别是三组:文件拥有者;文件所属组;其他用户
r :可读
w :可写
x :可执行
用户和组的概念
每个目录或者文件一定会属于一个用户和一个组
用户名和组名可以相同
ls 通配符
-
*** **表示任意字符
#查看以a结尾的文件,或者目录的内容 ls a* #查看以a开头的文件或者目录的内容 ls *a #只要名字中带有a就显示 ls *a*
-
? 代表任意一个字符
#查看以a开头,后面任意一个字符 ls a? #查看以a结尾,前面有任意一个字符 ls ?a #查看名字只有两个字符的 ls ??
-
[ ] 代表范围
# 查看以a,b或者c开头,后面任意的 ls [a,b,c]* # 查看a到f任意的一个开头,后面任意 ls [a-f]* # 只要名字在a-f中的 ls *[a-f]*
2. chmod修改文件读取权限
- 修改文件读取权限
- u = user 文件所属用户
- g = group文件所属的组
- o = other 其他用户
- a = all 所有用户
- +,赋权
- -,去权
- = ,后面有的就会赋权,没有的就去权
#给文件的所有者给予可读权
chmod u+r a.txt
#给文件所有者去掉可读权
chmod u-r a.txt
#所有用户添加所有权限
chmod a+rwx a.txt
#保留r,wx去掉
chmod o=r a.txt
#权限代表: r可读 w可写 x可执行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2m4LG9Y-1629000894856)(C:\Users\jss\AppData\Roaming\Typora\typora-user-images\image-20210630170959801.png)]
3. pwd 查看当前所在目录
4. cd 切换目录
-
cd -
- 回到切换之前的目录
-
cd .
- 当前目录
-
cd …
- 回到上级目录
-
cd /
- 回到上级目录(绝对路径,从根目录开始)
-
cd …/…/
- 回到上级目录的上级目录(相对路径,从当前目录开始)
#进入当前目录下的子目录abc
cd abc
#进入根目录下的abc目录
cd /abc
#回到用户的主目录 一般是/home/a(a表示用户名,一般小写)
cd
#返回上级目录的上级目录
cd ../..
#回到切换之前的目录
cd -
5. touch 创建文件
-
创建空文件或者更改文件最后修改日期
-
touch 文件或者目录名
- 如果更改一个目录的最后修改时间,touch后面的目录名一定要存在
touch a.txt
6. mkdir创建目录
- mkdir 目录名
- mkdir -p 目录/目录 --------->创建层级目录
- 创建有嵌套关系的多级目录
#创建一个目录aaa
mkdir aaa
#创建一个有嵌套关系的多级目录a/b/c
mkdir -p a/b/c
7. rm删除文件或者目录
- rm 文件
- rm -r 目录
- 当文件或者目录不存在的时候,rm会报错
- -f 如果目录不存在,也不报错
#删除abc 目录,如果abc目录不存在,也不报错
rm -rf abc
8. cp 文件拷贝 mv文件移动
- cp文件拷贝
- cp 原文件 目标文件
- -r 拷贝目录
- -i 当目标文件已经存在,给用户是否覆盖的提示
- mv和cp参数基本一致
- mv和cp的区别是,cp之后,原文件还存在,mv之后,原文件不存在了
#把当前目录下的a.txt拷贝到abc目录下
cp a.txt abc/a.txt
#把abc目录下的a.txt拷贝到当前目录下
cp abc/a.txt a.txt
#将a.txt名字更改为b.txt
mv a.txt b.txt
9. cat 命令–查看文件内容
cat 文件名
#查看a.txt内容
cat a.txt
#/proc目录下面放了一些和系统信息相关的软件
cd /proc
#查看Linux版本信息
cat version
#查看CPU信息
cat cpuinfo
10. more分屏查看文件内容
- more 文件名
- 按空格看下一页
- b向前翻一页
- q退出当前内容
#在/proc目录下显示meminfo
more meminfo
11. grep在指定的文件中查找指定的字符串
- grep "字符串"文件名
#在meminfo文件中查找是否有字符s的行
grep "s" meminfo
- -n 显示行号
#在meminfo文件中查找是否有字符s的行,并显示其所在的行号
grep -n "s" meminfo
- -v 查找不包含指定内容的行
#在meminfo文件中查找不含有字符s的行
grep -v "s" meminfo
- -i 忽略大小写
grep -ni "s" meminfo #忽略大小写
grep -n "s" meminfo #严格区分大小写
- grep的模式查找
- ^字符串
- 查找指定字符开头的行
- 字符串$
- 查找指定字符结尾的行
- ^字符串 . *字符串$
- 查找指定字符开头,指定字符结束的行
- ^字符串
#找以a开头的行
grep "^a" meminfo
#找以a结尾的行
grep "a$" meminfo
#找以a开头以a结尾的行
grep "^a.*a$" meminfo
#只显示/etc文件下的目录
[jss@localhost ~]$ cd /etc
[jss@localhost etc]$ ls -l | grep '^d'
12. echo回显字符串
- echo 字符串
- 把echo后面的字符串回显到屏幕
echo hello
13. clear清屏
- 类似于dos中的cls
14. 输出重定向
- 命令 参数 > 文件名
- 把一个命令指定的结果不输出到屏幕,而是重定向一个指定的文件
- 如果文件不存在,就创建新文件,如果文件存在就覆盖文件
#把ls -l命令执行结果放到a.txt里
ls -l > a.txt
#把echo命令执行的结果放入a.txt
echo aaaaa > a.txt
- 命名 参数 >>文件名
- 把一个命令指定的结果不输出到屏幕,而是重定向到一个指定的文件
- 如果文件不存在,就创建新文件,如果文件存在,就在文件后面追加新内容。
echo aaaa > a.txt
echo bbbb >> a.txt
15. 管道符 |
- 管道的作用就是把一个命令的输出作为另一个命令的输入
- 命令1 | 命令2
- 命令1的输出结果作为命令2的输入
#把ls -al的结果作为more的输入,结果分屏显示
ls -al | more
- ls -al 结果只显示目录
ls -al | grep "^d"
16. cat结合重定向可以快速的合并文件
- cat 文件1 文件2 文件3 > 文件4
- 把文件1,文件2和文件3内容合并到文件4里面
#把a.txt,b.txt内容合并到c.txt
cat a.txt b.txt > c.txt
17. find查找指定文件
- find开始目录 -name 文件名
#从当前目录开始查找所有子目录是否存在a.txt
find ./ -name a.txt
#从根目录开始查找所有子目录,是否存在a.txt
find / -name a.txt
18. ln 命令–创建链接文件
- 创建软链接文件,软链接文件类似Windows的快捷方式
# ln -s 被链接的原文件 链接文件
# 给a.txt 创建一个软链接 a
ln -s a.txt a
- 软链接文件使用 ls -l 查看结果时示例:
lrwxrwxrwxm 1 python python 5 6 月26 11:45 a -> a.txt
#第一个字符 l ,表示这是一个软链接文件
#软链接文件名a后的->文件名,表示软链接文件指向的实际文件名
- 注意:
- 源文件要使用绝对路径,这样可以方便移动链接文件后,仍能正常使用
- 创建硬链接文件,使用ln 创建链接,没有 -s 选项,会创建一个硬链接
# ln 被链接的原文件 链接文件
# 给a.txt创建一个硬链接 b
ln a.txt b
- 软链接文件与硬链接文件的区别
- 硬链接文件会单独占用磁盘空间,软链接不会
- 源文件删除后软链接文件内容将失效,硬链接不会
19. Linux权限的含义
- r
- 对于文件来说,没有 r 权限,文件就是不可读的
- 对于目录来讲,没有 r ,就不能用 ls 看目录的内容了
- w
- 对于文件,没有 w 文件内容只读
- 对目录,没有 w ,不可以在这个目录下创建新的文件
- x
- 对于文件,如果这个文件是个可执行的程序,没有 x,就不能执行力
- 对于目录,没有 x,不能用 cd 进入这个目录
Linux基本操作
1. gzip 压缩 和 解压文件
gz 文件压缩与解压
- gzip 文件名 压缩指定文件
gzip a.txt
#把a.txt压缩为a.txt.gz,同时a.txt文件不存在
- gzip -d 文件名 解压指定文件
#将a.txt.gz 解压,解压完成之后生成 a.txt,同时a.txt.gz不存在
gzip -d a.txt.gz
2. zip 压缩 和 unzip解压
- zip 文件名 .zip源文件
#把a.txt压缩为a.zip,压缩完成之后a.txt还存在
zip a.zip a.txt
- upzip 文件名
#把a.zip解压,解压之后,a.zip 还存在
upzip a.zip
3. tar 打包、查看、解包文件
- **打包文件: **tar -cvf 打包文件名 源文件
#将abc 目录打包为一个文件 abc.tar
tar -cvf abc.tar abc
- **查看文件: **tar -tvf 打包文件名
#查看abc.tar文件的内容
tar -tvf abc.tar
- **还原文件: **tar -xvf 打包文件名
#将abc.tar还原
tar -xvf abc.tar
4. tar 与gzip通过 -z 一步实现操作
- **打包并压缩: **tar -zcvf 文件名 源文件
#将abc打包之后同时用gzip压缩
tar -zcvf abc.tar.gz abc
- **解压并解包: **tar -zxvf 打包文件名
#将abc.tar.gz 用gzip 解压之后用 tar
tar -zxvf abc.tar.gx
5. df 命令 — 磁盘剩余
- df -h 用人性化的方式显示大小
6. ps 显示系统进程
- ps -aux 或者 ps aux
- -a 显示系统中所有的进程,并且 - u 显示进程的详细信息, -x 显示没有终端控制的进程
7. top动态查看进程信息
- top
- PID 每一个执行的进程都有一个唯一不重复的编号PID
- CPU 占用
- MEM 进程内存占有率
- command 启动进程的命令名
8. kill杀死进程
- kill PID
- kill -9 PID,当用kill PID杀不掉,那么用 - 9 参数
#在图形界面下,启动了gedit程序,用kill杀掉
ps aux | grep "gedit"
kill gedit的PID
9. ping测试目标主机是否网络联通
- ping IP 或者域名
10. ifconfig 显示网络设备信息
- ifconfig + 回车
11. su切换用户
- su - 用户名
- 需要输入密码
- 注意:在Linux输入密码的时候不回显
- 退回su之前的用户
- exit
- su - 用户名 su 用户名
- 加了 - ,切换用户,同时改变当前目录为用户的主目录
- 不加 - ,切换用户,但是不改变当前目录
- 如果要切换的是root,su后面可以省略用户名
- su - 等同于 su -root
- su 等同于 su root
- 其他用户切换root用户需要输入密码
- root切换其他用户不用密码
12. useradd添加用户
- -d 指定添加用户的主目录
- -m 当 -d参数指定的目录不存在,就自动创建这个目录```
#添加一个用户名叫abc,主目录是/home/abc目录,当abc目录不存在,自动创建
useradd -d /home/abc abc -m
13. passwd修改用户密码
- passwd 用户名
- root可以改其他用户的密码
- 其他用户只能修改自己的密码
14. 增加用户和修改用户的注意
- 只有root用户才能添加新用户
- 普通用户只能修改自己的密码
15. userdel 删除用户
- -f 当用户已经登陆了,也强制删除
- -r 删除用户的同时删除其对应的主目录
#删除用户abc, 同时删除abc对应的主目录
userdel -r abc
16. whoami 查看当前登陆用户名
17. vi 的使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6fKAB4Y-1629000894857)(C:\Users\jss\AppData\Roaming\Typora\typora-user-images\image-20210702092055501.png)]
- 首次进入vi 进入的是命令模式
- 输入 i 进入插入模式
- 按ESC键进入命令模式
- " :"从命令模式进入末行模式
- " w " 将插入模式内容进行存盘
- " q! " 将插入模式内容不存盘,强制退出
- " wq " 将插入模式内容进行退出保存
1. vi 的三种启动方式
- vi 新文件名
- 创建一个新文件
- vi 已有文件
- 打开一个已经存在的文件
- vi
- 退出 vi 的时候 w 后面要加一个文件名,代表保存文件到xx文件
2. vi 的退出方式
- 回到末行模式
- 在末行模式下:
- wq 保存退出
- q! 不保存退出
- q 如果文件没有修改,用q 退出,如果文件已经修改,不能用 q 退出
3. 用 vi 编辑一个文件,让这个文件可执行
4. vi 命令模式下的常用命令
- 从命令模式进入输入模式
- i 在光标当前位置插入
- a 在光标后面插入
- I 在光标所在行的行首插入
- A 在光标所在行的行尾插入
- o 在光标所在行的下面开启一个新行插入
- O 在光标所在行的上面开启一个新行插入
- 从命令模式进入末行模式
- :
- 删除命令
- x 删除光标所在位置字符
- dd 删除光标所在位置的行
- ndd 删除指定数量的 n 行
- 撤销与反撤销命令
- u 撤销
- CTRL + r 反撤销
- 复制和粘贴命令
- yy 复制光标所在的一行
- nyy 复制指定的 n 行
- p 从光标所在位置下面开辟新行并复制
- 查找命令
- / 字符串
- 查找指定的字符串
- n 查找下一个
- N 查找上一个
- 定位到指定的行
- nG
- 20G ----->跳转到第20行
- 1G ----->跳转到第一行
- G ------>到最后一行
- nG
- 末行模式命令
- w 保存文件,不退出 vi
- w 文件名,另存为
- wq 保存退出
- q 退出,如果文件已修改,那么 q 会提示错误
- q! 不保存退出
18.在线安装
- yum list 查看都有哪些软件
- yum install 文件名 在线安装软件
- yum remove 文件名 卸载软件
19. 安装包安装
- rpm
- rpm - qa 查看服务器上已经安装了的软件
- rpm -ivh 安装包的名字 安装
光标所在行的上面开启一个新行插入
- 从命令模式进入末行模式
- :
- 删除命令
- x 删除光标所在位置字符
- dd 删除光标所在位置的行
- ndd 删除指定数量的 n 行
- 撤销与反撤销命令
- u 撤销
- CTRL + r 反撤销
- 复制和粘贴命令
- yy 复制光标所在的一行
- nyy 复制指定的 n 行
- p 从光标所在位置下面开辟新行并复制
- 查找命令
- / 字符串
- 查找指定的字符串
- n 查找下一个
- N 查找上一个
- 定位到指定的行
- nG
- 20G ----->跳转到第20行
- 1G ----->跳转到第一行
- G ------>到最后一行
- nG
- 末行模式命令
- w 保存文件,不退出 vi
- w 文件名,另存为
- wq 保存退出
- q 退出,如果文件已修改,那么 q 会提示错误
- q! 不保存退出
18.在线安装
- yum list 查看都有哪些软件
- yum install 文件名 在线安装软件
- yum remove 文件名 卸载软件
19. 安装包安装
- rpm
- rpm - qa 查看服务器上已经安装了的软件
- rpm -ivh 安装包的名字 安装
- rpm -e 软件的名字 卸载