天天看点

linux常用命令

正式入行快3年了,从一开始的纯前端到现在的后端研发,曾被质问过女生怎么会搞编程,但一切都过去了,我依旧是个程序媛并且会越来越好!

很庆幸在百度这样的公司里,无论是技术视野还是行内氛围,我都长了不少见识。

总的来说,这3年过的很充实,it这个行业还是十分浮躁的,宁静方能致远,我决定定期更新博文,就从这篇放在evernote里的笔记开始吧!

1、删除目录及子目录下的 .svn目录

      find . -type d

-name ".svn" | xargs rm -rf

2、/tmp 目录的权限 drwxrwxrwt  

  rwt的意思是:对目录有执行权限,但不能删除,即sticky

bit

  rwx : 可读可写可执行

4+2+1

3、改变群组、用户、权限

     chgrp   群组名

  改变的目录

     groupadd -g gid

gname

     groupdel

 gname

     chown  用户名:群组名

 改变的目录

     chmod  权限代码

          r

- 4

          w

- 2

          x

- 1

     useradd

uname

     userdel

 -r(连根目录一起删除) uname

     usermod -g(修改组名)

-g(添加到组)  组名 用户名

4、如何查看linux上的所有用户群组和用户

     /etc/shadow  

/etc/group  

5、linux下可以执行文件的地方

     /bin  

/usr/bin

6、显示文件内容的指令有哪些?

     head

     tail

     more

     less

     cat  -- 从头开始

 -n  输入行号  -s(压缩空白)

     tac  --

于cat相反,从尾部开始

     nl  --

 显示同时输出行号

     od  --

二进制方式读取文件内容

7、操作文件的指令有哪些?

     rm

     mv

     mkdir

     rmdir

     cp

     ls

     umask  002  

--- 默认创建文件、目录的权限 (777 - 002  、 touch 后 由666-002)

8、查找文件

     which   ls

     whereis

 文件名

     find  -type

 -name  

     locate

     file  文件名  

--- 查看文件属性

9、查看磁盘容量、已用容量及inode的命令?

     df

 -[ikm]

     du -h

--max-depth=1 /home/iknow/   查看各文件所占空间

10、日志分割、分析相关的命令有哪些?

     cut   -d"分隔符" -cf

 fields

     sort  -t "分隔符"

-n(纯数字) -r(反向排序) -u(相同的列,只出现一次)

     wc  -l(多少行)

-m(字符) -w(字)

     uniq

     split  -l 5

 /etc/passwd test    ----  每五行分隔成一个文件

12、定时操作的命令有哪些?如何使用?

     crontab -e(eidt)

-l(list) -r(delete all)

     /var/log/cron

 --- 操作日志保存在这里

     分(0-59)  时(0-23)

日(1-31) 月(1-12) 周(0-6)

     eg:  59 23 13 2 *

mail  <

love.txt        每年的2月13日23:59分都发邮件给 邮箱

   */5 * * * * test.sh   每五分钟运行一次脚本

     at  

只运行一次的任务

13、如何执行背景任务?

      command  &

 --- 背后执行

      fg ---

将任务拉回屏幕执行

     ctrl + z  ---

中断指令

     jobs --

查看当前任务

     kill -9  job---

强制停止,即杀死程序

14、有哪些查看系统状态的指令?

     ps -aux (all

 user  tty - teletypewriters 的程序)

     top

     free

     uname -a   

     lsb_release

-a

     sar -u(cpu) -r(mem) 描述

次数  ----- 查看cpu和mem使用情况

 1)、内核|操作系统|cpu信息

 uname -a

 2)、查看cup信息

 cat /proc/cpuinfo

     3)、操作系统版本

 head -n 1 /etc/issue

     4)、查看环境变量

 env

     5)、计算器

 bc

 6)、查看所有安装的软件

 rpm -qa

     7)、ct任务

 crontab -e    ---- 添加定时任务

 crontal -l   ----- 查看当前用户的定时任务

 8)、查看所有进程情况

          ps

-ef

 pstree

     9)、cpu

idle

 vmstat -n

15、如何查看程序优先级并调整程序优先级?

     ps -l   ---

可以查看优先级

     nice -n(nice值)

command

     renice

 number(nice值) pid

16、查看一些主机信息

     uptime --

 启动时间

     who /w/whoami  --

当前登录用户信息

     last ---

最近登录用户的信息

     hostname -i(ip

address)

17、获取远端资源

     wget

 -c(断点续传) ftp:://host/绝对路径

     curl url

18、压缩与解压缩

     .tar

     解包:tar xvf

filename.tar

     打包:tar cvf filename.tar dirname

   (注:tar是打包,不是压缩!)

     ———————————————

   .gz

     解压1:gunzip filename.gz

 解压2:gzip -d filename.gz

     压缩:gzip filename

     .tar.gz 和 .tgz

     解压:tar zxvf

filename.tar.gz

     压缩:tar zcvf filename.tar.gz dirname

     .bz2

 解压1:bzip2 -d filename.bz2

     解压2:bunzip2

filename.bz2

     压缩: bzip2 -z filename

 .tar.bz2

     解压:tar jxvf filename.tar.bz2

   压缩:tar jcvf filename.tar.bz2 dirname

 ———————————————

二、文件处理

 1、查看当前目录下文件总数

          ls

| wc -l

 2、同时提取符合两个属性的东西

  egrep "baiduspider|googlebot" example.log >

spider.txt #其他以此类推

 3、按格式输出

 awk ‘print{$1,$2}‘   xxx.log  

     4、sort  排序

 -r (reverse)  

     5、uniq

唯一性

 uniq -c   --- 行首出现重复的次数

 6、cut

 cut -d "分隔符" -f  num 

     7、wc

 统计

 wc -l      

 wc -m      

 wc -w   --- 单词出现的次数

      eg :

统计访问请求“req=xxx" 的各ip出现次数,并逆序排列

   grep ‘req=xxx‘

apache_access_log  |cut -d ‘ ‘ -f1 " | sort |uniq -c|sort

-r

     8、sed(stream

editor)

     sed

"s/\w\+\[&]/2g"   filename