Linux命令总结

因为,面试时有时会问到最基础的命令这里,所以总结一下,方便面试前复习!

浏览博客的时候,觉得有个分类特别好:

1.显示目录和文件的命令

 

  1. ls:查看所有文件夹
  2. dir:查看指定文件夹和目录
  3. du:显示目录文件大小
  4. tree:以树状图列出目录

2.修改目录,文件权限和属主及数组命令

   属主:u  同组用户:g 其他用户:o

   有读权限:r (4)有写权限:w (2)可执行权限:x (1)

 

  1. chmod:改变权限
  2. chown:改变拥有属性
  3. chgrp:改变属组
  4. chattr:  设置文件具有不可删除和修改权限
  5. lsattr:显示目录,文件的隐藏属性

3.创建和删除目录的命令

 

  1. mkdir:  创建目录
  2. rmdir:删除空目录
  3. rm -f:删除不为空的目录

4.改变目录,查看当前目录的命令

 

  1. cd:进入工作目录
  2. cd..:退回上一级
  3. pwd:显示当前用户所在的工作目录的位置

5.创建和删除,重命名,复制文件的命令

 

  1. touch
  2. vi
  3. rm
  4. mv
  5. cp

6.显示文件内容的命令

 

  1. cat
  2. more:分页形式显示
  3. less:同more,但翻页使用的操作键不同
  4. head:显示文件前n行内容
  5. tail:显示文件后n行内容
  6. tail-f:自动刷新

7.文件查找命令

 

  1. find
  2. whereis:文件源,二进制文件,手册
  3. which:查询命令位置
  4. locate:快速查找系统数据库中指定的内容
  5. grep:符合条件的字符串

8.文件连接命令

   ln(分为软连接和硬链接)

 

  1.  -f:创建连接时,先将同名删除
  2. -d:允许系统管理者
  3. -l:删除同名前先询问用户
  4. -n:软连接
  5. -s:创建软连接
  6. -v:连接之前显示文件或目录名
  7. -b:被覆盖或删除的文件进行备份

9.关机,重启的命令

Shutdown:-r 关机后立即重启
             -k 并不真正的关机,而只是发出警告信息给所有用户
             -h 关机后不重新启动
   Poweroff:用于关机和关闭电源
   Init:改变系统运行级别
        0级用于关闭系统
        1 级用于单一使用者模式
        2级用来进行多用户使用模式(但不带网络功能)
        3级用来进行多用户使用模式(带网络全功能)
        4级用来进行用户自定义使用模式
        5级表示进入x  windows时的模式
        6级用来重启系统
   Reboot: 用于计算机重启
   Halt:用于关闭计算机系统

10.压缩,打包的命令

   Tar:用于多个文件或目录进行打包,但不压缩,同时也用命令进行解包
   Gzip:用于文件进行压缩和解压缩命令,文件扩展名为.gz结尾。
   Gunzip:用于对gzip压缩文档进行解压缩。
   Bzip2:用于对文件或目录进行压缩和解压缩
   Bzcat:用于显示压缩文件的内容。
   Compress/un compress: 压缩/解压缩.Z文件
   Zcat:查看z或gz结尾的压缩文件内容。
   Gzexe:压缩可执行的文件
   Unarg:解压缩.arj文件
   Zip/unzip:压缩解压缩.zip文件

11.用户来操作的命令

   Su:切换用户命令
   Sudo:一系统管理员的身份执行命令
   Passwd:用于修改用户的密码

12.帮助命令---man

13.其他命令

   Who:显示系统中有那些用户在使用。
        -ami  显示当前用户
        -u:显示使用者的动作/工作
        -s:使用简短的格式来显示
        -v:显示程序版本
   Free:查看当前系统的内存使用情况
   Uptime:显示系统运行了多长时间
   Ps:显示瞬间进程的动态
   Top: 动态地显示进程
   Pstree:以树状方式显示系统中所有的进程
   Date:显示或设定系统的日期与时间。
   Last:显示每月登陆系统的用户信息
   Kill: 杀死一些特定的进程
   Logout:退出系统
   Useradd/userdel:添加用户/删除用户
   Clear:清屏
   Passwd:设置用户密码

14.vi编辑器

首先用vi命令打开一个文件
末行模式命令:
   :n,m w path/filename 保存指定范围文档( n表开始行,m表结束行)
   :q!    对文件做过修改后,强制退出
   :q     没有对文件做过修改退出
   Wq或x  保存退出
   dd   删除光标所在行
   : set number 显示行号
   :n 跳转到n行
   :s  替换字符串 :s/test/test2/g  /g全局替换 /也可以用%代替
   / 查找字符串

15.网络通信部分的命令

  Arp:网络地址显示及控制
   ftp:文件传输
   Lftp:文件传输
   Mail:发送/接收电子邮件
   Mesg:允许或拒绝其他用户向自己所用的终端发送信息
   Mutt E-mail 管理程序
   Ncftp :文件传输
   Netstat:显示网络连接.路由表和网络接口信息
   Pine:收发电子邮件,浏览新闻组
   Ping:用于查看网络是否连接通畅
   Ssh:安全模式下远程登陆
   Telnet:远程登录
   Talk:与另一用户对话
   Traceroute:显示到达某一主机所经由的路径及所使用的时间。
   Wget:从网路上自动下载文件

   Write:向其它用户终端写信息    Rlogin:远程登录

 

有一些直接问操作的问题:

 

1.查找某个路径下的所有包含某个特定字符串的文件(递归查找)

find . -name "*.txt" | xargs grep "356438824" | cut -d ":" -f 1

2.Linux关闭防火墙

开启: chkconfig iptables on
关闭: chkconfig iptables off

3.一条命令杀死全部Mysql进程

ps -ef | grep mysqld | awk '{ print $2 }' | xargs kill -9

4.批量下载git中修改后的文件

git status | grep modified | cut -d ":" -f 2 | xargs sz

5.全连接

git status | grep modified | cut -d ":" -f 2 | xargs ls | xargs cat >> 1.txt

6.批量git add

git status | grep .go | cut -d ":" -f 2 | xargs ls | git add

7.wc统计输出命令行数

git status | grep smart | wc | awk '{print $3}'

8.查看系统时间

date

补充部分:

awk:按列提取

Linux命令总结