如下是linux上一些常用的指令,记录在博客中以方便查找。
一、进程相关
1.1 根据任务查找进程号
查找ssh任务的进程
ps -ef | grep ssh
1.2 杀死一个进程
kill -9 xx xx标识pid
或者
kill -9 $(pgrep -f ntp) 杀死和ntp相关的进程
二、端口相关
2.1 查找是否有相关端口正在监听中
查找是否有22端口启动监听
netstat -nlp | grep 22
三、文档操作相关
3.1 如何将文件按照时间排序
ll -rt 按照时间逆序排序
3.2 查看文件的大小
ll -h 文件的大小
3.3 动态查看文件
tail -nf 命令用于输入文件中的尾部n行内容,可用于动态获取新追加的内容
tail -nF 小f有一个问题,就是文件被截断,就会报错,但不重新载入,但是-F可以
3.4 vi命令
命令模式下:
gg 到第一行第一个字符
G 到最后一行第一个字符
shift + $ 跳转到行尾
dd 删除当前行
dG 删除当前行及以下的行
ndd 当前行下的n行(包括当前行)
3.5解压缩
压缩:
tar -cxf test.tar.gz /root/*
zip -r test.zip /root/*
解压
tar -zxvf test.tar.gz
unzip test.zip
3.6 机器间文件传输
发送文件
传输文件
scp xxx.log root@192.168.100.1:/tmp
传输文件夹
scp -r /home/data root@192.168.100.1:/tmp/
获取文件
scp root@192.168.100.1:/tmp/xxx.log /tmp
scp -r root@192.168.100.1:/tmp/data /home
四、跳转
4.1 如何跳转到上一次的目录
cd - 切换到上一次的目录
五、系统
5.1 设置命令别名
alias qq='shutdown -h now'
source xxx 重新配置设置alias所在的文件如/etc/profile或者~/.bash_profile
5.2 获取历史命令
history 获取当前shell的历史的命令
!xx 执行历史中第xx个命令
5.3 如何查找一个命令或者shell脚本路径在哪
which java 这个根据PATH路径下挨个查找
或者
locate java 配合数据库查看文件位置
5.4 文件或者文件夹搜索
find 哪个路径 -name '*abc*' 这就是搜索某个路径下包含abc名称的文件和文件夹
5.5 查看磁盘相关状态
df -h 查看磁盘状态
5.6 查看内存状态
free -m 其中这个m表示兆,可以用-g
5.7 查看负载状况
top
5.8 作业调度
crontab -l 列出所有所有作业
会列出你当前所有调度作业
crontab -e 编辑调度作业
格式 * * * * * 执行命令
其中*按照顺序表示 分 时 日 月 周
想要到1秒怎么办 -> 在执行脚本中休眠60次(这个不能到秒实在有点鸡肋)
*/10 如果写在分这个位置 表示每10分钟执行一次
5.9 后台执行命令
./xx.sh & 将 &的执行文件,将在后台运行,输出在终端
nohup ./xx.sh 在后台运行,输出在某个文件中,但是ctrl+z会打断运行
-->结合用: nohup ./xx.sh & 简单输出到默认文件
-->结合用: nohup ./xx.sh > /tmp/date.log 2>&1 & 输出到指定文件
以下为多人协作命令(后台运行)
screen -r xxx/pid 通过名称或者pid登入会话
screen -list 列出当前有哪些会话,以及状态
screen -S xxx 创建名称为xxx的会话,但是一个会话只能有一个在线,离开会话(保存会话中任务 ctrl+a+d)
六、用户
6.1 用户和用户组所有命令所在位置
ll /usr/sbin/user* 列出所有用户命令
ll /usr/sbin/group* 列出所有用户组命令
6.2 删除一个用户
userdel xxx 但这样删除会保留家目录
userdel -r xxx 这样就会删除一些关联的东西,如家目录,邮件目录等
6.3 如何添加一个用户到用户组
usermod -a -G groupXX useXX
6.4 如何切换用户命令
su - xxx 这里-的作用,就是切换到xxx用户的家目录,加载xxx的环境变量
七、软件相关
7.1 查看相关软件
rpm -qa | grep http 查看http相关软件
7.2 软件的卸载
rpm -e xxx 其中xxx就是上面7.1找出来的名称
这个时候会弹出关联软件,这个时候忽略不理就需要增加参数 --nodeps
最后、综合
根据进程名查找占用的端口
先查找PID
ps -ef | grep ssh
根据PID查找对用的占用端口
netstat -nlp | grep pid