上一期分享了 Linux 的常用指令,然而这还不能够我们日常工作的需要,我们需要更好的便捷指令来提高系统操作的工作效率。
这一期就来聊聊 Linux 的实用指令。
目录
文件操作
重定向命令
">" ——如果文件存在,会覆盖原有文件内容,相当于文件操作中的'w'模式
">>" ——如果文件存在,会追加写入文件末尾,相当于文件操作中的'a'模式
👆界面展示
查看文件内容命令
cat ——查看小文件
more ——查看大文件,分屏显示文件内容
less ——查看大文件,分行显示文件内容 head ——用来显示文件开头内容
tail ——用来显示文件结尾内容
stat ——查看文件详细内容
-
cat 命令结合重定向命令可以完成多个文件的合并
-
gedit 文件编辑命令,可以查看和编辑文件
-
管道("|") 一般结合 more 命令使用,主要是分配查看终端显示内容
管道(|):一个命令的输出可以通过管道作为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
链接命令
ln -s 源文件路径(使用绝对路径) 软链接文件名称 ——创建软链接
注意点: 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。删除源文件则软链接失效,可以给目录创建软链接。
ln 源文件路径 硬链接文件名称 ——创建硬链接
注意点: 创建硬链接使用相对路径和绝对路径都可以删除源文件,硬链接还可以访问到数据。创建硬链接,硬链接数会加 1,删除源文件或者硬链接,硬链接数会减 1。创建软链接,硬链接数不会加 1 不能给目录创建硬链接。
-
软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。
-
硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删,有点像数据的备份。
* 详细操作可查看《Linux实用教程》第三版P68~69
搜索操作
文本搜索命令
grep 搜索内容 ——文本搜索
查找文件命令
find 指定查找目录 -name "文件名" —— 在指定目录下查找文件(包括目录)
搜索系统命令
which ——查找二进制命令路径和别名
whereis ——查找二进制命令、源文件和帮助文档的路径
简化指令
alias ——简化较长的指令
例如:设置命令别名l——alias l='ls -lh'
* 详细操作可查看《Linux实用教程》第三版P78
常用网络命令
ifconfig 命令
ifconfig [参数] ——查看网络设备信息,配置网络接口
ping 命令
ping IP或网址域名 ——测试网络中主机的通信情况
netstat 命令
netstat ——网络状态查看命令
* 详细操作可查看《Linux实用教程》第三版P192
压缩和解压缩
Linux 默认支持的压缩格式: ".gz"
".bz2"
".zip"
说明: .gz 和.bz2 的压缩包需要使用 tar 命令来压缩和解压缩。.zip 的压缩包需要使用 zip 命令来压缩,使用 unzip 命令来解压缩。
zip命令、tar命令
zip -r 压缩包名 压缩包存放的位置 ——通过递归的方式压缩目录,将指定目录下的所有文件和子目录一并处理
tar -c [选项] [-f 包文件名] 压缩包存放的位置 —— 压缩文件
unzip命令、tar命令
unzip [选项] 压缩包名 ——解压文件
• 选项:-d 指定解压的位置
tar [选项] 压缩包名 ——解压文件
选项:
• -c 创建打包文件
• -v 显示打包或者解包的详细信息
• -f 指定文件名称, 必须放到所有选项后面
• -z 压缩或解压缩(.gz)
• -j 压缩或解压缩(.bz2)
• -x 解包
• -C 解压缩到指定目录
权限管理
我们在用命令“ls -lh”查看文件或目录内容时,会看到每一行首先显示的内容就是文件的权限。
如图所示:
文件权限命令
chmod [选项] 文件权限 文件或目录 ——设置文件权限
chmod命令的权限模式分为符号组合和八进制数组合。这里讲讲八进制的用法。八进制数组合的格式是[0-7][0-7][0-7]三位数字组成(每一位数字都是权限之和),第一位是所有者权限,第二位是所属组权限,第三位是其他人权限。
r读取权限对应的数字是4
w写权限对应的数字是2
x执行权限对应的数字是1
例如读写权限rw八进制数表示 6
如果某文件的所有者、所属组、其他人的权限都是读写权限,那该文件的权限模式就表示为666。
* 更详细操作可查看《Linux实用教程》第三版P162
还可以查看文末分享的Linux命令文档,非常详细,可参考学习。
用户操作
useradd -m 新用户名 ——创建(添加)用户
id 用户名 ——查看用户信息
sudo passwd 用户名 ——给用户设置密码
su - 用户名 或 sudo -s ——切换用户
who ——查看所有的登录用户
whoami ——查看当前用户
userdel -r 用户名 ——删除用户
groupadd 用户组名 ——创建(添加)用户组
groupdel 用户组名 ——删除用户组
注意点:
• 删除用户,默认同名的用户组也会被删除
• 用户操作的大部分指令需要超级权限来运行,毕竟是添加用户嘛,权限得给足。可以在命令前添加sudo,来临时给权限,或者通过su命令直接切换到超级用户来完成以上指令。
* 详细操作可查看《Linux实用教程》第三版P107
远程登录
ssh是专门为远程登录提供的一个安全性协议,常用于远程登录。比如我们想让Linux系统作为服务端,而本机的windows系统作为客户端,安装ssh之后,即可在windows的终端界面上使用Linux系统。
操作:
① 在Linux系统终端中输入指令:sudo apt-get install openssh-server
② 在windows系统上打开cmd命令(快捷键win+R,输入cmd)或者终端Windows PowerShell,输入ssh命令:ssh 用户名@ip地址,输入对应的密码即可进入Linux系统,使用命令exit可退出。
注意点:
• 这里的用户名和IP地址都是Linux系统的,用户名可通过指令whoami查询,IP地址可通过指令ifconfig查询。
• 如果想让Linux系统作为客户端,则在其终端上输入ssh客户端命令: sudo apt-get install openssh-client
命令scp进行简单的远程复制文件的功能。还可以借助第三方工具进行远程登录和数据传输(上传和下载),速度还是相当可以的:Xshell 、Putty、VNC(能同步Linux系统图形化界面)、FinalShell、XFTP、FileZilla(可视化工具)等等。
* 详细操作可查看《Linux实用教程》第三版P202
一些扩展
现代的Linux发行版,大部分软件是通过软件包管理系统安装的。
Debian和Ubuntu使用deb格式的软件包,通过经典程序dpkg或者APT的方式进行管理。
红帽系和centos使用.rpm格式的软件包,由yum(dnf)进行管理。
软件的安装与卸载
sudo dpkg -i 安装包名 ——离线安装
sudo apt-get install 安装包名 ——在线安装
sudo dpkg –r 安装包名 ——离线卸载
sudo apt-get remove 安装包名 ——在线卸载
👆安装cmake软件包
👆安装多个软件包,-y参数表示不需要再确认一次是否要安装
注:apt-get方式是需要联网才能使用的。
* 参考文章:https://segmentfault.com/a/1190000021950993、《Linux实用教程》第3版