Linux下常用命令
文件和目录操作命令
- ls: 查看文件
- tree: 以倒树结构显示目录下的文件
- cd: 进入目录
- mv: 重命名或移动文件
- rm: 删除文件
- cp: 复制文件或目录
- pwd: 查看当前工作目录的绝对位置
- mkdir: 创建目录
- rmdir: 删除空目录
- rm: 删除一个或多个文件(包括目录)
- touch: 创建一个或多个空文件,改变已有文件的时间戳属性
- md5sum: 计算和校验文件的MD5值
- find: 查找文件
- grep: 搜索某个文件的内容
- 参数:
- -n: 显示匹配行及行号
- -i: 忽略大小写
- -v: 显示不包含匹配文本的所有行(相当于求反)
- 参数:
- which: 查找二进制命令所在路径,按环境变量PATH路径查找
- whereis: 查找二进制命令所在路径,按环境变量PATH路径查找
查看文件及内容处理命令
- cat: 查看单个文件内容,或者连接多个文件内容并且输出到屏幕
- tac: cat的反向拼写,反向显示输出文件内容
- more: 分页显示文件内容 (空格或f翻页,Enter换行, q退出)
- less: 分页显示文件内容,可以往上翻
- head: 显示文件开头部分的内容,有一个常用的参数-n用于显示行数,默认为10,即默认显示10行内容
- 参数:
- -q: 隐藏文件名, 默认是隐藏文件名的
- -v: 显示文件名
- -c <字节数>: 显示多少个字节
- -n <行数>: 显示多少行
- 参数:
- tail: 查看文件尾部的内容, 有一个常用的参数-f常用于查阅正在改变的日志文件
- 参数:
- -f: 循环读取
- -q: 不显示处理信息
- -v: 显示详细的处理信息
- -c <字节数>: 显示文件的尾部多少个字节
- -n <行数>: 显示文件的尾部多少行
- --sleep-initerval=秒数: 与-f合用,表示在每次刷新的间隔休眠 多少 秒
- 参数:
- split: 用于将一个文件分割成数个
- 参数:
- -<行数>: 指定每多少行切成一个小文件
- -b<字节数>: 指定每多少个字节切成一个小文件
- -C<字节数>: 与-b相似,但是在切割时将尽量维持每行的完整性
- 如: split -2 cal.txt cal-: 将cal.txt文件每2行切割成一个文件,并且设置切割文件的前置文件名为cal-
- 参数:
- paste: 按列合并文件内容 (cat上下合并, paste左右合并), (paste命令会把后一个文件按照列的形式,一列列的排在前一个文件的后一列的位置)
- 参数:
- -d<间隔字符>: 用指定的间隔字符取代跳格字符
- -s: 串列进行而非平行处理
- 参数:
- sort: 对文件的文本内容排序
- uniq: 去除重复行
- wc: 统计文件的行数、单词数和字节数
- rev: 反向输出文件内容
信息显示命令
- uname: 显示操作系统
- hostname: 显示或者设置当前系统的主机名
- dmesg: 显示开机信息,用于诊断系统故障
- uptime: 显示系统运行时间及负载
- stat: 显示文件(目录)状态信息 (inode内容)
- du: 显示目录或文件的大小 (会显示指定的目录或文件所占用的磁盘空间)
- df: 显示目前在Linux系统上的文件系统磁盘的使用情况统计
- top: 实时显示系统资源使用情况
- free: 查看系统内存
- date: 显示与设置系统时间
- cal: 查看日历
用户与组管理命令
- useradd: 添加用户
- usermod: 用来修改用户账号的各项设定
- 参数:
- -c<备注>: 修改用户账号的备注文字
- -d<登入目录>: 修改用户登入时的目录
- -e<有效期限>: 修改账号的有效期限
- -f<缓冲天数>: 修改在密码过期后多少天即关闭该账号
- -g<群组>: 修改用户所属的群组
- -G<群组>: 修改用户所属的附加群组
- -l<账号名称>: 修改用户账号名称
- -L: 锁定用户密码,使其密码无效
- -U: 解除密码锁定
- -s
: 修改用户登入后所使用的shell - -u
: 修改用户ID
- 参数:
- userdel: 删除用户
- passwd: 修改用户密码
- chage: 修改用户密码有效期限
- id: 查看用户的uid,gid及所属的用户组
- su: 切换用户
网络操作命令
- nmap: 网络扫描命令
- ssh: 使用ssh加密协议远程登录
- 参数
- -p: 指定端口,默认是22端口,如果不是,则需要指定端口
- 参数
- scp: 基于ssh登录进行安全的远程文件拷贝命令
- wget: 命令行下载工具
- ping: 测试主机之间网络的连通性
- ifconfig: 可设置网络设备的状态,或是显示目前的设置
- 参数:
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
- io_addr<I/O地址> 设置网络设备的I/O地址。
- irq<IRQ地址> 设置网络设备的IRQ。
- media<网络媒介类型> 设置网络设备的媒介类型。
- mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
- metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
- mtu<字节> 设置网络设备的MTU。
- netmask<子网掩码> 设置网络设备的子网掩码。
- tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
- up 启动指定的网络设备。
- -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
- -promisc 关闭或启动指定网络设备的promiscuous模式。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
- 参数:
- ip: 查看网络
- 参数
- -a | -addr : 查看目前的网络设置
- 参数
- ss: 查看网络状态
- netstat: 用于显示网络状态
- 参数:
- -a或--all 显示所有连线中的Socket。
- -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
- -c或--continuous 持续列出网络状态。
- -C或--cache 显示路由器配置的快取信息。
- -e或--extend 显示网络其他相关信息。
- -F或--fib 显示FIB。
- -g或--groups 显示多重广播功能群组组员名单。
- -h或--help 在线帮助。
- -i或--interfaces 显示网络界面信息表单。
- -l或--listening 显示监控中的服务器的Socket。
- -M或--masquerade 显示伪装的网络连线。
- -n或--numeric 直接使用IP地址,而不通过域名服务器。
- -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
- -o或--timers 显示计时器。
- -p或--programs 显示正在使用Socket的程序识别码和程序名称。
- -r或--route 显示Routing Table。
- -s或--statistics 显示网络工作信息统计表。
- -t或--tcp 显示TCP传输协议的连线状况。
- -u或--udp 显示UDP传输协议的连线状况。
- -v或--verbose 显示指令执行过程。
- -V或--version 显示版本信息。
- -w或--raw 显示RAW传输协议的连线状况。
- -x或--unix 此参数的效果和指定"-A unix"参数相同。
- --ip或--inet 此参数的效果和指定"-A inet"参数相同。
- 参数:
- tcpdump: 用于倾倒网络传输数据,执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。
磁盘与文件系统相关命令
- mount: 挂载文件系统, 如: mount /dev/cdrom /media
- umount: 卸载文件系统, 如: umount /media
系统权限及用户授权相关命令
- chmod: 更改文件权限
- chown: 更改文件的所有者和所属组
- chgrp: 更改文件用户组
查看系统用户登陆信息
- whoami: 显示当前使用的用户名称, 相当于执行 id -un 命令
- who: 显示系统在线的用户信息, who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
- w: 显示系统在线的用户信息
- last: 显示用户最近登录信息
- lastlog: 显示系统中所有用户最近一次登录信息
- users: 显示当前登录系统的所有用户
- finger: 查找并显示用户信息