Linux命令总结
因为,面试时有时会问到最基础的命令这里,所以总结一下,方便面试前复习!
浏览博客的时候,觉得有个分类特别好:
1.显示目录和文件的命令
- ls:查看所有文件夹
- dir:查看指定文件夹和目录
- du:显示目录文件大小
- tree:以树状图列出目录
2.修改目录,文件权限和属主及数组命令
属主:u 同组用户:g 其他用户:o
有读权限:r (4)有写权限:w (2)可执行权限:x (1)
- chmod:改变权限
- chown:改变拥有属性
- chgrp:改变属组
- chattr: 设置文件具有不可删除和修改权限
- lsattr:显示目录,文件的隐藏属性
3.创建和删除目录的命令
- mkdir: 创建目录
- rmdir:删除空目录
- rm -f:删除不为空的目录
4.改变目录,查看当前目录的命令
- cd:进入工作目录
- cd..:退回上一级
- pwd:显示当前用户所在的工作目录的位置
5.创建和删除,重命名,复制文件的命令
- touch
- vi
- rm
- mv
- cp
6.显示文件内容的命令
- cat
- more:分页形式显示
- less:同more,但翻页使用的操作键不同
- head:显示文件前n行内容
- tail:显示文件后n行内容
- tail-f:自动刷新
7.文件查找命令
- find
- whereis:文件源,二进制文件,手册
- which:查询命令位置
- locate:快速查找系统数据库中指定的内容
- grep:符合条件的字符串
8.文件连接命令
ln(分为软连接和硬链接)
- -f:创建连接时,先将同名删除
- -d:允许系统管理者
- -l:删除同名前先询问用户
- -n:软连接
- -s:创建软连接
- -v:连接之前显示文件或目录名
- -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:按列提取