Linux 高级命令
1.重定向命令
重定向:也称输出重定向,把在终端执行命令的结果保存到目标文件
> 如果文件存在会覆盖原有文件内容,相当于文件操作中的“w"
>> 如果文件存在会追加写入到文件末尾,相当于文件操作中的‘a’
只要能在终端显示信息的命令都可以使用重定向
2.查看文件内容命令
cat 查看小型文件
more 分屏查看大型文件
cat命令结合重定向可以完成多个文件的合并
gedit文件编辑命令,可以查看和编辑文件
more命令可以查看无法在一屏显示的文件
more操作键说明:
空格 显示下一屏
回车 显示下一行
b 显示上一屏
f 显示下一屏
q退出
管道命令(|)
管道命令一般结合more使用,分配查看终端显示内容
3.链接命令
链接命令是创建链接文件,分为软链接和硬链接
ln -s 创建软链接 软链接的的作用是方便文件的快速访问
ln -s 源文件路径(使用绝对路径) 软链接
软链接类似于Windows的快捷方式,当源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接
创建软连接要使用绝对路径,当源文件删除后,软链接失效,可以给目录创建软链接
lrwxrwxrwx:这里的l表示这是一个软连接
ln 硬链接:类似于原文件的一个别名,两个名字指向的是同一个的文件数据
例: ln hello.txt hello-h.txt
硬链接和源文件保持数据同步
创建硬链接不受路径影响
删除源文件,硬链接还可以访问
创建硬链接,硬链接数会加1(硬链接数就是文件数据被文件名使用的次数,好比引用计数)
删除文件,硬链接数会减一
不能给目录创建硬链接
总结:硬链接可以给重要文件创建硬链接,防止文件被误删
删除源文件,软链接失效,硬链接依然可以使用
创建硬链接命令格式 :ln 源文件路径 硬链接
4.文件搜索
使用方式: grep 文本搜索 :grep 选项 文本搜索内容
grep 命令选项
-I :忽略大小写
-n :显示行号
-v :对结果进行取反
grep 可以结合正则表达式使用
grep 还可以搜索管道中的内容,如 ls / | grep 'lib' (搜索内容的引号可以省略)
5.查找文件命令
find 在指定目录下查找文件或目录
find 选项 -name 根据文件名/目录名查找
find 格式:find 指定查找目录 -name “文件名”
find可以结合通配符使用(通配符是一种特殊的语句主要有星号(*)和问号(?),用来模糊搜索文件)
*:代表0个或多个任意字符
?:代表任意一个字符
通配符还可以结合其他命令使用,如ls,mv,cp的,但是find使用通配符要加上引号
6.压缩,解压缩命令
Linux默认支持.gz,.bz2,.zip
其中: .gz和.bz2的压缩包需要使用tar命令来压缩解压缩,.zip需要使用zip命令来压缩,使用unzip来解压缩
tar 压缩和解压缩命令
tar命令选项:
-c :创建打包文件
-v :显示打包或解包文件的详细信息
-f : 指定文件名称,必须放在所有选项后面
-z: 压缩或解压缩 (.gz)(推荐使用.gz格式,因为占用空间较少)
-j: 压缩或解压缩(.bz2)
-x: 解包
-C: 解压到指定目录
zip 压缩成.zip格式文件
unzip:解压缩.zip文件
unzip选项:
-d :解压缩到指定目录
7.文件权限命令
chmod : 修改文件权限
修改文件权限有两种方式
**字母法**: chmod 不同角色设置的权限 文件
角色说明:
u :user表示该文件的所有者
g: group,表示用户组
o:other,表示其他用户
a: all,表示所有用户
权限设置说明
+ : 增加权限
- :撤销权限
=:设置权限
权限说明:
r :可读
w:可写
x:可执行
**数字法**就是“rwx”这些权限也可以用数字代替 :chmod 不同角色的权限值 (累加)文件名
r :权限值:4
w:权限值:2
x:权限值:1
- :无任何权限:权限值:0
8.#扩展
# 号的多种含义
# 注释内容:表示一个注释
#_*_coding:utf-8_*_表示指定文件编码格式
#!/python解释器的路径:表示操作系统直接执行文件选择的解释器
9.获取管理员权限的相关命令
sudo 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo 格式:sudo 命令 选项 参数
sudo -s :切换到root用户,获取管理员权限
如果只是某次操作需要使用管理员权限建议使用sudo,如果大量操作都需要使用管理员权限使用sudo -s ,但是操作要谨慎
sudo -i :为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”
whoami 查看当前用户权限
exit: 退出当前登录用户 :如果是切换后的登录用户,退出则返回上一个登录账号;如果是终端页面,退出当前终端
who:查看所有的登录用户
passwd:修改用户密码,不指定用户默认修改当前登录用户
which :查看命令位置 :which 命令 返回的是地址
shutdown -h now :关机
reboot :重启
10.用户相关操作
创建用户
useradd :创建(添加)用户
-m :自动创建用户主目录,主目录的名字就是用户名
-g :指定用户的所属组,默认不指定,会自动创建一个同名的用户组
useradd命令的使用需要使用管理员权限,前面需要加sudo;
创建用户不指定用户组,默认创建同名用户组;
查看用户是否创建成功,查看/etc/passwd文件;
查看用户组是否创建成功,查看/etc/group文件。
passwd文件每项信息说明,以root❌0:0:root:/root:/bin/bash为例:
:第一个:用户名
:第二个:密码占位符
:第三个:uid,用户id
:第四个:gid,用户所在组id
:第五个:用户描述,可选
:第六个:用户的主目录所在位置
:第七个 :用户所用的shell类型,一般是bash或者sh,默认不设置是sh类型
group文件中每项信息说明:以a❌1001为例
:第一个:组名
:第二个:组密码占位符,一般Linux系统的用户组都没有密码
:第三个:组id
id 查看用户信息 :id 用户名
给其他用户设置密码:sudo passwd 用户名
切换用户 : su - 用户名
修改用户信息:usermod
usermod选项:
-G :设置一个附加组:sudo usermod -G sudo laozhang (给laozhang设置附加组sudo)
-g:修改用户组
删除附加组信息
gpasswd :添加和删除附加组信息
-a 用户名 :给用户添加附加组
-d用户名:给用户删除附加组 :sudo gpasswd -d laozhang sudo(将laozhang从附加组sudo中删除)
删除用户
userdel 删除用户
-r 用户名 :删除用户主目录,必须要设置,否则用户主目录不会删除 sudo userdel -r laozhang (删除用户,默认同名的用户组也会被删除)
11.用户组相关操作
groupadd :创建(添加)用户组 sudo groupadd 用户组名
groupdel:删除用户组 sudo groupdel 用户组 (如果用户组下面有用户需要先删除用户,再删除用户组)
12.远程登录,拷贝
ssh 远程登录
scp 远程拷贝
ssh是专门为远程登录提供的一个安全性协议,用于远程登录,想要使用ssh服务,需要安装相应的服务端和客户端
软件安装步骤: 如果Ubuntu作为服务端,需要安装ssh服务端,执行命令:sudo apt-get install openssh-server
客户端如果是macOS系统不需要安装ssh客户端,可以直接使用ssh命令
客户端如果是Windows需要安装OpenSSh for Windows软件
ssh格式: ssh 用户名@ip地址 (Ubuntu查看ip地址:ifconfig)
scp拷贝命令
scp是基于ssh进行远程文件拷贝的命令,也就是说需要保证客户端和服务端都安装了相应的软件
scp格式:
远程拷贝文件:
scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的地址
scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地电脑的路径
远程拷贝目标:
scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定拷贝到本地电脑的路径
-r 表示递归拷贝整个目录
也可以使用FileZilla软件进行上传下载,大文件建议使用。
13.vim编辑器
vim是一款文本编辑器,最大特点就是脱离了鼠标。
vim有三种工作模式:命令模式;编辑模式;末行模式
vim 文件名 :打开文件,进入命令模式
在命令模式按i进入编辑模式,esc退出编辑模式,按“:”进入末行模式,esc退出末行模式。(编辑模式和末行模式不能直接进行切换,需要通过命令模式完成)
末行模式命令:
(:w)保存
(:wq)保存退出
(:x)保存退出
(:q!)强制退出
vim常用命令:
yy:复制光标所在行
p: 粘贴
dd:删除/剪切当前行
V:按行选中
u:撤销
Ctrl+r:反撤销
>>:右缩进
<<:左缩进
(:/搜索内容):搜索指定内容
(:%s/要替换的内容/替换后的内容/g):全局替换
(:开始行数,结束行数s/要替换的内容/替换后的内容):局部替换
(.):重复上一步操作
G:回到最后一行
gg:回到第一行
数字加G:回到指定行
Shift+6:回到当前行的行首
Shift+4:回到当前行末
Ctrl+f:下一屏
Ctrl+b:上一屏
14.软件安装:
Ubuntu有两种安装模式:离线安装(deb文件格式安装);在线安装(apt-get安装)
deb文件安装:
dpkg:安装和卸载deb安装包
-I :离线安装deb安装包 :sudo dpkg -I 安装包名
apt-get方式安装:是在线安装deb软件包的命令,用于在互联网的软件仓库中搜索、安装、升级、卸载软件
在线安装软件命令格式:sudo apt-get install 安装包:表示在线安装deb安装包
更改镜像源:因为apt-get命令默认从国外下载安装软件,所有下载速度慢,我们可以修改镜像源
15.软件卸载
Ubuntu软件卸载有两种方式:离线安装包的卸载(deb文件格式卸载);在线安装包的卸载(apt-get方式卸载)
deb文件格式卸载:
sudo dpkg -r 安装包名
-r表示卸载
apt-get方式卸载:
Sudo apt-get remove 安装包名