linux常用命令整理
date +"%Y-%m-%d %H:%M:%S"
输出时间2018-05-02 09:16:20
cd destination
pwd
ls
-alFid
ln a.sh b.sh 创建硬链接,相当于将a.sh复制一份,然后命名为b.sh,删除a.sh后,b.sh照样可以执行。
ln -s a.sh b.sh 创建软链接,相当于window的快捷方式,删除a.sh或者a.sh的位置变化了,或者说a.sh文件名修改了后,b.sh就没有意义了,不能再运行。
cp source destination
复制文件
-R 递归复制目录下的所有文件和子目录
ln link source_file
创建连接
-s 创建符号链接(软链接)
mv source destination
移动或修改 文件名或者目录名
rm fileName/dirName
-r 递归删除目录下的所有文件
-f 强制性删除
mkdir dirName
创建目录
-p 创建嵌套目录
rmdir dirName
移除空目录
file fileName/dirName
查看文件的类型及编码格式
cat fileName
显示文本内容
-n
-T
-b
more/less fileName
分页显示文本内容
tail fileName
显示文本最后10行内容
-n num 显示文本的最后num行内容
head fileName
显示文本头10行内容
-n num 显示文本前面num行内容
查看使用某个端口的进程
lsof -i : 8080
查看进程列表
ps aux
查看某个进程
ps aux | grep http
查看进程实时状态
top
结束进程(通过pid)
kill -9 pid
通过进程名结束进程
killall http*
注意:结束进程之前,请保证你有权限执行,比如一个进程并不是你启动的,你就没有权限结束它。
查看磁盘剩余空间
df -h
查看某个目录或者文件所占空间大小
du -h file/dir
在文本中查找指定内容
grep [options] pattern [file] 在file中寻找符合pattern的行
选项可以是下面这些:
-v 反向选择
-n 显示行内容的同时,显示行号
-c 只统计符合要求的行数
-e 指定一个pattern,可使用多个-e来指定多个pattern同时查找
pattern部分可以[]来表示正则表达式
压缩与解压
gzip filename 压缩单个文件,生成一个扩展名为.gz的压缩包
gzcat filename.gz 查看压缩包的内容
gunzip filename.gz 解压缩
打包(不会压缩)
tar -cvf demo.tar one.txt two.txt 将one.txt和two.txt打包,生成的文件名为demo.tar
tar -tf demo.tar 查看demo.tar中有哪些文件
tar -xvf demo.tar 将demo.tar中的文件释放出来
tar -zxvf demo.tgz 将经过gzip压缩后,再进行tar打包的文件解压
history 显示最近使用的命令
-c 清除历史记录
!+num 使用上面历史记录的第num条,比如!5使用第5条
!+prefix 使用上面历史记录中包含相同前缀的命令 !tar
!! 运行上一次运行的命令
printenv或者env 打印所有全局变量
printenv HOME 打印全局变量HOME的值或者使用echo $HOME
set 打印所有的全局变量、局部变量,以及用户定义的变量
key=value 定义一个局部变量,作用范围仅限于本shell进程,shell关闭后就销毁,重新打开一个shell,不能获得该局部变量的值。
ssh user@ip
ssh user@host
使用user账户登录到指定ip或者host机器,可以加-p port指定端口,默认使用22端口个
ssh user@ip "command1;command2;command3" 使用user登录到ip机器上面,并执行commnad命令。(注意,不会进入指定ip的终端,只会登录,然后执行指定的命令)
ssh-copy-id user@ip 将自己的rsa公钥加入到ip的机器上,实现使用user账户免密登录,但是这一个命令需要输入user账户登录ip的密码。
scp source destionation 将文件从source拷贝到destionation
scp /tmp/demo.php user1@192.168.1.2:/home/www 将本地的/tmp/demo.php文件拷贝到192.168.1.2这个机器的/home/www目录下
scp user@192.168.1.2:/home/www/demo.php /tmp 将192.168.1.2这个机器上的/home/www/demo.php拷贝到本地的/tmp目录下
scp -r user1@172.25.32.22:/tmp /home/www 递归拷贝文件
ps -ef | grep httpd | wc -l
用来查看http进程数,替换掉httpd,即可查看指定进程的进程数
groupadd www 添加www用户组
groupdel www 删除www用户组
useradd user1 添加用户
useradd -g www user1 添加user1用户,并指定user1所属的用户组
userdel user1 删除用户(保留家目录)
userdel -r user1 删除用户,并且删除家目录
updating