linux常用命令
更新日期:
在linux下工作总是要用到不少命令,下面记录下常用的命令,以免忘了。
文件相关
ls 列出当前目录下所以文件和目录 加参数-a可以列出隐藏文件(.开头)
ll 详细列表
rm 删除文件 -r循环删除 -f强制删除
cat 输出文件到屏幕
less 查看文件
tail 查看文件末尾N行 tail -f xx持续打印文件新内容直至ctrl+c
du -h –max-depth=1 . 查看当前目录所占磁盘空间vim 编辑或新建文件
mv 移动或重命名文件
mkdir 创建目录
cp 复制
scp 远程复制 scp xx root@192.168.0.102:/home/root/
chmod +x 赋予文件可执行权限
tar -zcvf name.tar.gz dir 压缩
tar -zxvf name.tar.gz dir 解压
file 查看文件类型和编码信息等,也可看出core文件属于哪个程序
wc 统计文件行数字数字节数等,wc -l file 行数 -c字节数 -w字数 -m字符数
进程相关
ps 列出当前运行的进程 ps x当前用户所有进程 ps ux带用户等信息 ps aux所有用户进程
kill 杀死进程 kill -9 强制杀死 kill -USR1 给进程发信号
pgrep 根据程序名查找进程 pgrep -l xx pgrep xx|xargs kill -9 > /dev/null
恢复被删文件(被进程打开)
lsof|grep delete
t 15546 cplus 1w REG 202,1 10275086336 661231 /home/cplus/test/nohup.out (deleted)
ls -l /proc/15546/
l-wx—— 1 cplus work 64 Oct 20 14:47 0 -> /dev/null
l-wx—— 1 cplus work 64 Oct 20 14:47 1 -> /home/cplus/test/nohup.out (deleted)
cp /proc/15546/fd/1 nohup.out.save
查找相关
find 查找文件 find [path] [option] [action] find / -name mysql
grep 在文本中查找字符串 grep [string] [files] grep “xx” log
awk 文本分析处理
- awk ‘{pattern + print}’ {files}
- last -n 5 | awk ‘{print \$1}’ 显示最近登录的5个账户的名字
- svn diff |grep Index|awk ‘\$2 ~/(cpp)|(h)\$/{print \$2}’ 打印改动的cpp、h文件名,~是匹配操作符,表示找第二列匹配后面模式的行
- svn diff|grep ‘h\$|cpp\$’|awk ‘{print \$2}’|sort|uniq 查找以cpp或h结尾的行,打印第二
列,排序去重复- ps -A -o stat,ppid,pid,cmd | grep -e ‘^[Zz]’ | awk ‘{print \$2}’ | xargs kill -9 杀死>僵尸进程
网络相关
ifconfig 查看ip地址等信息
netstat 查看网络连接 netstat -atp(a显示所有选项,默认不显示listen相关,t显示tcp,p显示连接关联的程序
)
时间相关
date 查看当前时间
date -s “2008-08-08 08:08:08”设置时间 date -s 2008-08-08 date -s 08:08:08
date +%s获取当前时间戳
date -d 2008-08-08 +%s获取指定时间戳
date -d @1442107727通过时间戳得到时间
内存相关
free 查看内存使用情况 free -m 显示单位M free -g 显示单位G
ps aux | awk ‘{mem += $6} END {print mem/1024}’ 统计所以程序所占用内存M (rss程序占用内存)
杂
chkconfig iptables on 服务开机运行
svn diff|grep “working copy”|awk ‘{print $2}’|xargs svn revert svn revert all
watch xxx 重复运行xxx命令并显示每次的结果
lsof 查看打开的文件
rpm -qa | grep mysql 查看是否安装mysql
rpm -e mysql 卸载 rpm -e –nodeps mysql 强力卸载
service iptables start 启动防火墙 service iptables stop 关闭service iptables restart 重启
lsb_release -a 查看操作系统版本
chkconfig mysqld on 设置开机启动 chkconfig –list | grep mysqld 查看启动设置
. 代表当前目录 ~当前用户根目录即/home/xx /表示系统根目录 vim /etc/my.cnf
vim ~/.vimrc 修改当前用户的vim配置
如加入 syntax on
set ts=4
set expandtab
set number
vim ~/.bash_profile 可设置环境变量,执行命令等,该文件只在登录的时候执行一次
如加入 ulimit -c unlimited
export SVN_RES=”http://192.168.0.101/repos/trunk“