Linux 命令速查
2020/10/16大约 4 分钟
常用命令备忘速查
netstat -ntlp
场景:出现 http500 时,利用 netstat -tnlp 来排查
netstat -tnlp
-n或--numeric:直接使用ip地址,而不通过域名服务器
-t或--tcp:显示TCP传输协议的连线状况
-l或--listening:显示监控中的服务器的Socket
-p或--programs:显示正在使用Socket的程序识别码和程序名称(显示进程pid,配合kill杀死)
ps -ef | -aux
场景:查看进程,显示状态
ps -ef |less 命令: ps查看进程所有信息并通过less分页显示
ps -ef | grep etutorservice : 利用管道符精确查询需要的进程,之后kill第一个的总进程即可。
chmod:改权限
场景:更改无法访问的文件权限(修改某个目录或文件的访问权限)
语法: chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名
# 使其拥有所有权限
chmod -R 777 /home/linux
# 使 test.sh 脚本具有可执行权限
chmod +x ./test.sh
chown:改组
场景: 更改文件的用户名和用户组
**语法: **chown 用户名:组名 文件路径
# 就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)
chown root:root /tmp/tmp1
# 把tmp下的tmp1下的所有文件的属组都改成root和root。-R指代递归
chown -R root:root /tmp/tmp1
more & less & cat
more -s testfile:
# 按space显示下一页,b(back)显示上一页,s把所有行空白替换为一行
less [参数] 文件
# 好处: less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动。less 在查看之前不会加载整个文件。
cat [参数] 文件
# cat 命令用于连接文件并打印到标准输出设备上。过于大的文件查看时不要用cat命令,会消耗内存可能把服务器拖崩。
ssh
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定。为建立在应用层和传输层基础上的安全协议。
场景:需要远程连接
例:ssh ubuntu@192.168.0.225 以ubuntu身份登入服务器(然后输入用户名密码即可登录)
-p 22 表示端口为22,默认通常为22
公钥登录:
ssh-keygen: 用户提供自己的公钥,生成
ssh-copy-id user@host 将公钥传送到远程主机host上面,
在远程主机的.ssh文件下 authorized_keys里会记录认证信息,若删除则下次需要输入密码
service ssh restart 重启远程主机的ssh服务
scp
scp 就是远程复制文件,可以把 本地复制到远程、远程复制到本地、远程复制到远程等等,只要之前 ssh 是互通的即可
# scp 待复制的文件路径 将要复制到的文件路径
# 本地复制到远程:从本地 复制到远程104
scp /etc/hosts 172.16.120.104:/etc/hosts
# 远程复制到本地:从远程103 复制到本地
scp 172.16.120.103:/etc/hosts /etc/hosts
# 远程复制到远程:从远程103 复制到 远程104 需要输两次密码
scp 172.16.120.103:/etc/hosts 172.16.120.104/etc/hosts
alias
场景:利用别名简化命令
alias cr="cross=http://172.16.0.225:9300 npm start" 简化一串命令为cr
若每次自动生效,需要 vim ~/.bashrc 修改 bashrc 文件,在最后添加以上命令。
source ~/.bashrc 使环境变量立即生效
ping
走的是 ICMP 协议:(Internet Control Message Protocol)Internet 控制报文协议。详见本节笔记 6.3
-c:指定ping的次数
tar -zxvf
场景:解压 .tar.gz
操作,例:
$ tar -zxvf xx.tar.gz
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
将整个
/etc
目录下的文件全部打包成为/tmp/etc.tar
# 仅打包,不压缩 tar -cvf /tmp/etc.tar /etc # 打包后,以 gzip 压缩 tar -zcvf /tmp/etc.tar.gz /etc # 打包后,以 bzip2 压缩 tar -jcvf /tmp/etc.tar.bz2 /etc
查阅上述
/tmp/etc.tar.gz
文件内有哪些文件?tar -tvf /tmp/etc.tar tar -ztvf /tmp/etc.tar.gz # -v 查看 # -z 使用 gzip 压缩
将
/tmp/etc.tar
解压到/etc
目录下(若文件存在则覆盖 )tar zxvf /tmp/etc.tar.gz -C / # 一开始文件是 /etc/xx 文件 则会解压到对应目录 / 下 -> /etc/xx
unzip file
场景:解压.tar.gz 操作,例如:
$ unzip file.zip
-d <目录>: 解压到指定目录下
-P <密码>:使用zip的密码选项
# 压缩
$ zip -r file.zip ./file
`压缩包名` `文件名 / 文件1 ~ N`
快捷键:
- Home 跳转到命令开头,End 跳转到命令结尾
- ctrl 按单词跳转,按上箭头显示上一条命令
linux awk tac 查看日志
dos2unix
场景:当前目录下所有 windows 格式的文件转为 linux
find . -type f -exec dos2unix {} \;