Linux一些比较常用且有用的命令积累
pkill 通过进程名操作进程 例如:杀掉iptalbes进程 pkill -9 iptabless -HUP表示重新加载进程 例如: pkill -HUP nginx 就是nginx的热重启的机制
#显示文件或者目录的权限以及它的大小 ll -h 一个目录
同时可以加上通配符匹配要匹配的文件,如下图:
查看Linux系统版本 lsb_release -a 查看Linux内核命令 uname -a
cp -a 文件或者路径名字
常用于备份,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
netstat -antp
查看网络状态,经常用于服务关闭或者重启之后查看网络状态
service httpd status
查看某个服务的状态
如何查看某一个指令的安装包?(比如ipconfig) 先用which在用rpm -qf查找 which指令的功能是查看命令在环境变量$PATH设置的目录里查找符合条件的文件 如which ifpconfig 的命令在/sbin/ifconfig rpm -qf 系统文件 rpm -qf是查看系统的文件属于那个包 如rpm -qf /sbin/ifconfig
注意rpm -qa | grep 包名 是查看已经安装了的按安装包
df 与df的区别 df -h 查看的是已经挂载的磁盘使用情况 du -h 显示当前目录下的各个文件磁盘使用情况 如果是du -sh 那么就是所有的目录使用情况,看下图:
lsof 用来查看某个设备文件的使用进程信息
如果再卸载设备时,系统提示无法卸载设备,通常是有进程还在访问该设备或者使用该设备上面的文件。这时可用lsof命令获取使用他的进程信息,然后再应用中停止使用该设备或者进程。
如sshd的进程操作如下图:
sort命令
使用场景,对于数据量比较大,且需要排序的数据,我们使用sort命令可以进行对大量的数据进行处理。
如:du -h 查看某个目录下的文件或者文件夹占用磁盘空间的大小排序,使用du -h /tmp | sort -nr
-n 表示按值排序,而-r表示降序排序。
以下是sort的命令参数:
-k 和 -t 参数在对按字段分隔的数据进行排序时非常有用:
例如/etc/passwd文件。可以用 -t
参数来指定字段分隔符,然后用 -k 参数来指定排序的字段。举个例子,要对前面提到的密码文件
/etc/passwd根据用户ID进行数值排序,可以这么做:
sort -t ':' -k 1 -n /etc/passwd
| 管道命令,内容重定向
| 命令,可以将一个命令产生的结果,作为另外一个命令的数据源
例如:du -h /tmp/ | sort -nr du 命令的输出重定向到sort命令进行排序
grep 命令
正则找数据(后续会详细讲到)
tar 命令
Unix和Linux上最广泛使用的归档工具是 tar 命令
更多的可以看Linux命令大全与shell编程,或者网上也有
route -n 查看路由表 route add default gw ip 临时添加网关 route del default gw ip 临时删除网关 永久: 修改/etc/sysconfig/network-scripts/eth0 ifconfig 查看ip等信息 ifconfig eth0 ip netmask 255.255.225.0 临时配置ip ifconfig etho ip/24 方法2 永久: 修改/etc/sysconfig/network-scripts/eth0
netstat -altp 查看网络连接的状态、路由信息、接口
Linux远程管理服务器ssh命令 ssh 用户名@IP地址 例如ssh root@192.168.109.2 这个可以写在代码或者shell脚本里面 window进行远程管理我们一般使用xshell软件
scp命令
该命令可以实现文件的传输,从可以从客户端传文件到服务端,也可以从服务端传文件到客户端
客户端传文件到服务端如下所示:
scp -P 22 /tmp/at.log yansunda@192.168.109.7:/tmp
从服务端下载文件到客户端如下所示:
scp -P 22 yansunda@192.168.109.7:/tmp/at.log /tmp/
注意:1、连接的服务端的ip和文件路径的连接用冒号“:”,进行相连。
2、上述两个都需要使用账号和密码进行登录,也就是说每执行一次scp命令,都需要输入密码
问题:如何解决每次执行scp都需要密码的问题?我可否一次scp就可以了呢?
可以的,那就是提前将两个服务器之间的依赖关系建立,就是把客户端的公钥保存在服务端上面。
操作如下:
1、生成本地的公钥,命令如下
ssh-keygen -t rsa
2、将本地生成的.ssh/id_rsa.pub文件复制到服务器中的.ssh/authorized_keys文件中
注意:这个密钥文件针对的服务器里面某一个用户建立的信任关系,且.ssh/authorized_keys的内容要一行,可以用set nu进行验证,如下:
最终使用SCP命令可以不用账户密码进行登录:
如果要从服务器上面下载东西,那么也进行认证就可以了。
移动当前目录底下的所有文件到某一个目录下面 mv * /bak/yum.bak/ 注意:不能使用mv ./ /backyum.bak
那么移动yum.bak文件夹下的所有文件到当前目录应该用mv /bak/yum.bak/* ./
注意:不能使用mv /bak/yum.bak ./,这样会把yum.bak整个文件夹移动过来
vim中进行字符串替换的操作 开始行,结束行/s/被替换字符/替换字符/【g】 s是匹配的意思,必须有。 g是是否进行全局替换,如果加上g的话当前行所有值都会被替换 例如,替换61-65行第一个#为空【 】 :61,65/s/#/ / 例如:替换61-65行所有#为空【 】 :61,65/s/#/ /g
删除当前光标所在的字符x(小写)
ps aux
a:表示的时显示所有用户的进程,如果只想显示当前的用户,可以把a去掉,具体可以看到pa -aux的用法
复制多行8yy
还可以使用p进行复制粘贴