Linux常用命令
常用系统命令
-
shutdown 命令
用于关机
# 常用参数 -t seconds : 设定几秒后关机 -r : 关机后重新开机(相当于reboot命令) -h : 关机后不开机 -n : (相当于shutdown now)杀掉所有执行程序立即关机 -c : 取消已经进行的关机动作 -f : 关机时不检查Linux档案系统(fsck) -F : 关机时强制进行fsck
-
logout 命令
退出系统
-
login 命令
用于登陆系统
也可以用于更换用户登录身份
-
logname 命令
用于显示当前用户名称
-
reboot 命令
用来重启
# 常用参数 -n : 在重开机前不做将记忆体资料写回硬盘的动作 -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里 -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令 -i : 在重开机之前先把所有网络相关的装置先停止
-
useradd 命令
可用来建立用户帐号
使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
# 常用参数 -c<备注> : 加上备注文字。备注文字会保存在passwd的备注栏位中 -d<登入目录> : 指定用户登入时的起始目录 -e<有效期限> : 指定帐号的有效期限 -f<缓冲天数> : 指定在密码过期后多少天即关闭该帐号 -g<群组> : 指定用户所属的群组 -G<群组> : 指定用户所属的附加群组 -u<uid> : 指定用户ID
-
userdel 命令
用于删除用户帐号
可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
# 常用参数 -r : 删除用户登入目录以及目录中所有文件
-
usermod 命令
用于修改用户帐号,修改用户帐号的各项设定。
# 常用参数 -c<备注> : 修改用户帐号的备注文字 -d登入目录> : 修改用户登入时的目录 -e<有效期限> : 修改帐号的有效期限 -f<缓冲天数> : 修改在密码过期后多少天即关闭该帐号 -g<群组> : 修改用户所属的群组 -G<群组> : 修改用户所属的附加群组 -l<帐号名称> : 修改用户帐号名称 -L : 锁定用户密码,使密码无效 -u<userid> : 修改用户ID -U : 解除密码锁定
-
exit 命令
exit命令用于退出目前的shell。
-
groupadd 命令
用于创建一个新的工作组,新工作组的信息将被添加到系统文件中
# 常用参数 -g : 指定新建工作组的 id -r : 创建系统工作组,系统工作组的组ID小于 500 -K : 覆盖配置文件 "/ect/login.defs" -o : 允许添加组 ID 号不唯一的工作组 -f/ --force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出
-
groupdel 命令
用于删除群组
需要从系统上删除群组时,可用groupdel(group delete)指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
# 用法 groupdel + <群组名称>
-
groupmod 命令
Linux groupmod命令用于更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
# 常用参数 -g <群组识别码> : 设置使用的群组识别码 -o : 重复使用群组识别码 -n <新群组名称> : 设置欲使用的群组名称
-
ps 命令
显示当前进程的状态
# 常用参数 -a : 列出所有的进程 -u : 以用户的信息显示进程 -x : 显示后台进程的参数
-
pstree 命令
以树状图形式显示进程
可以显示父进程
# 常用参数 -a : 显示该行程的完整指令及参数 -c : 如果有重覆的行程名, 则分开列出
-
kill 命令
用于删除执行中的程序或工作
# 常用参数 -l <信息编号> : 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称 -s <信息名称或编号> : 指定要送出的信息 # 最常用的信息编号是: 1(HUP) : 重新加载进程 9(KILL) : 杀死一个进程 15(TERM) : 正常停止一个进程
常用文件管理命令
-
cat 命令
用于连接文件并打印到标准输出设备上
# 常用参数 -n / --number : 显示行号 head -n : 只看头几行 通过-n参数来控制显示几行 tail -n : 只看尾几行 通过-n参数来控制显示几行
-
cut 命令
用于显示每行从开头算起 num1 到 num2 的文字
# 常用参数 -b : 以字节为单位进行分割 -c : 以字符为单位进行分割 -d : 自定义分隔符,默认为制表符 -f : 与-d一起使用,指定显示哪个区域 -n : 取消分割多字节字符。仅和 -b 标志一起使用
-
touch 命令
用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
# 常用参数 -a : 改变档案的读取时间记录 -m : 改变档案的修改时间记录 -c : 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样 -d : 设定时间与日期,可以使用各种不同的格式 -t : 设定档案的时间记录,格式与 date 指令相同 --no-create : 不会建立新档案 --version : 列出版本讯息 ```
-
cp 命令
用于复制文件或目录
# 常用参数 -a : 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容 -d : 复制时保留链接(相当于 Windows 系统中的快捷方式) -f : 覆盖已经存在的目标文件而不给出提示 -i : 与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖 -p : 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 -r : 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件 -l : 不复制文件,只是生成链接文件
-
mv 命令
用来为文件或目录改名、或将文件或目录移入其它位置
# 常用参数 -b : 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份 -i : 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件 -f : 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件 -n : 不要覆盖任何已存在的文件或目录 -u : 当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-
rm 命令
用于删除一个文件或者目录
==危险命令:==rm -rf /
# 常用参数 -i : 删除前逐一询问确认 -f : 强制删除,无需逐一确认 -r : 将目录及以下之档案亦逐一删除
-
find 命令
用来在指定目录下查找文件
如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件
# 常用参数 -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件 -amin n : 在过去n分钟内被读取过 -atime n : 在过去n天内被读取过的文件 -ctime n : 在过去n天内被修改过的文件 -cmin n : 在过去n分钟内被修改过 -cnewer file :比文件file更新的文件 -ipath p, -path p : 路径名称符合p的文件(ipath大小写不严格) -name name, -iname name : 文件名称符合name的文件(iname大小写不严格) -size n : 文件大小 -type c : 文件类型是c的文件
-
chmod 命令
用来控制用户对文件的权限的命令
Linux的文件调用权限分为三级 : 文件所有者(Owner) 用户组(Group) 其它用户(Other Users)
# 常用参数 -r : (read)读取权限 # 读取权限对应4 -w : (write)写入权限 # 写入权限对应2 -x : (execute)执行权限 # 执行权限对应1 -X : 将文件夹中的所有子目录设为可执行 + : 表示增加权限 - : 表示取消权限
-
chgrp 命令
用于变更文件或目录的所属群组
# 常用参数 -f或--quiet或--silent : 不显示错误信息 -R或--recursive : 递归处理,将指定目录下的所有文件及子目录一并处理 -v或--verbose : 显示指令执行过程 --reference=<参考文件或目录> : 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
-
ln 命令
为某一个文件在另外一个位置建立一个同步的链接
链接分为硬链接和软连接:
硬链接:当原文件被删除后创建的硬链接文件仍然可以查看
软连接:当原文件被删除后创建的软连接文件不可以查看类似于Windows里的快捷方式
# 常用参数 -b : 删除,覆盖以前建立的链接 -d : 允许超级用户制作目录的硬链接 -f : 强制执行 -i : 交互模式,文件存在则提示用户是否覆盖 -n : 把符号链接视为一般目录 -s : 软链接(符号链接) -v : 显示详细的处理过程
常用磁盘管理命令
-
cd 命令
用于切换当前工作目录
# 常用参数 ~ : 去home目录的意思 .. : 返回上一层目录
-
mkdir 命令
用于创建文件夹
# 常用参数 -p : 确保目录名称存在,不存在的就建一个
-
pwd 命令
用于显示当前工作目录
-
df 命令
用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
# 常用参数 -a / --all : 包含所有的具有0 Blocks的文件系统 --block-size={SIZE} : 使用{SIZE}大小的Blocks -h / --human-readable : 使用可读的格式 -l / --local : 限制列出的文件结构 -P / --portability : 使用POSIX输出格式 -t / --type=TYPE : 限制列出文件系统的TYPE -T / --print-type : 显示文件系统的形式
-
du 命令
用于显示目录或文件的大小(会显示指定的目录或文件所占用的磁盘空间)
# 常用参数 -a / -all : 显示目录中个别文件的大小 -b / -bytes : 显示目录或文件大小时,以byte为单位 -c / --total : 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和 -h / --human-readable : 以K,M,G为单位,提高信息的可读性 -k / --kilobytes : 以1024 bytes为单位 -L<符号连接> / --dereference<符号连接> : 显示选项中所指定符号连接的源文件大小 -m / --megabytes : 以1MB为单位 -s / --summarize : 仅显示总计 -x / --one-file-xystem : 以当前文件系统为准,若遇上其它不同的文件系统目录则略过 -X<文件> / --exclude-from=<文件> : 在<文件>指定目录或文件 --exclude=<目录或文件> : 略过指定的目录或文件
-
mount 命令
用于挂载Linux系统外的文件
# 常用参数 -V : 显示程序版本 -h : 显示辅助讯息 -v : 显示较讯息 -a : 将/etc/fstab中定义的所有档案系统挂上 -F : 这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作 -f : 通常用在除错的用途,通常会和-v一起使用 -n : mount 在挂上后会在/etc/mtab中写入一笔资料 -t : 指定档案系统的型态 -o async : 打开非同步模式,所有的档案读写动作都会用非同步模式执行 -o sync : 在同步模式下执行 -o auto / -o noauto : 打开/关闭自动挂上模式 -o remount : 将一个已经挂下的档案系统重新用不同的方式挂上 -o ro : 用唯读模式挂上 -o rw : 用可读写模式挂上
-
unmount 命令
用于卸除文件系统
# 常用参数 -a : 卸除/etc/mtab中记录的所有文件系统。 -n : 卸除时不要将信息存入/etc/mtab文件中。 -r : 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。 -t<文件系统类型> : 仅卸除选项中所指定的文件系统。 -v : 执行时显示详细的信息。
-
ls 命令
用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
# 常用参数 -a : 显示所有文件及目录(包括隐藏文件) -l : 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r : 将文件以相反次序显示(原定依英文字母次序) -t : 将文件依建立时间之先后次序列出 -A : 显示所有文件及目录(不显示隐藏文件) -R : 若目录下有文件,则以下之文件亦皆依序列出
常用磁盘维护命令
-
cfdisk 命令
用于磁盘分区
# 常用参数 -a : 在程序里不用反白代表选取,而以箭头表示 -c<柱面数目> : 忽略BIOS的数值,直接指定磁盘的柱面数目 -h<磁头数目> : 忽略BIOS的数值,直接指定磁盘的磁头数目 -P<r,s,t> : 显示分区表的内容,附加参数"r"会显示整个分区表的详细资料,附加参数"s"会依照磁区的顺序显示相关信息,附加参数"t"则会以磁头,磁区,柱面的方式来显示资料 -s<磁区数目> : 忽略BIOS的数值,直接指定磁盘的磁区数目 -z : 不读取现有的分区,直接当作没有分区的新磁盘使用
-
badblocks 命令
用于检查磁盘装置中损坏的区块
执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数
# 常用参数 -b<区块大小> : 指定磁盘的区块大小,单位为字节 -o<输出文件> : 将检查的结果写入指定的输出文件 -s : 在检查时显示进度 -v : 执行时显示详细的信息 -w : 在检查时,执行写入测试 <磁盘装置> : 指定要检查的磁盘装置 <磁盘区块数> : 指定磁盘装置的区块总数 <启始区块> : 指定要从哪个区块开始检查
-
sync 命令
将数据从内存同步到硬盘中
常用网络命令
-
netconfig 命令
用于设置网络环境
-
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地址 <网络设备> : 指定网络设备的名称
-
netstat 命令
用于显示网络状态,可让你得知整个 Linux 系统的网络情况
# 常用参数 -a / --all : 显示所有连线中的Socket -A<网络类型> / --<网络类型> : 列出该网络类型连线中的相关地址 -c / --continuous : 持续列出网络状态 -C / --cache : 显示路由器配置的快取信息 -e / --extend : 显示网络其他相关信息 -F / --fib : 显示路由缓存 -g / --groups : 显示多重广播功能群组组员名单 -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 : 显示指令执行过程 -w / --raw : 显示RAW传输协议的连线状况 -x / --unix : 此参数的效果和指定"-A unix"参数相同 --ip / --inet : 此参数的效果和指定"-A inet"参数相同
-
ping 命令
命令用于检测主机
执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常
# 常用参数 -d : 使用Socket的SO_DEBUG功能 -c <完成次数> : 设置完成要求回应的次数 -f : 极限检测 -i<间隔秒数> : 指定收发信息的间隔时间 -I<网络界面> : 使用指定的网络接口送出数据包 -l<前置载入> : 设置在送出要求信息之前,先行发出的数据包 -n : 只输出数值 -p<范本样式> : 设置填满数据包的范本样式 -q : 不显示指令执行过程,开头和结尾的相关信息除外 -r : 忽略普通的Routing Table,直接将数据包送到远端主机上 -R : 记录路由过程 -s<数据包大小> : 设置数据包的大小 -t<存活数值> : 设置存活数值TTL的大小 -v : 详细显示指令的执行过程 -w <deadline> : 在 deadline 秒后退出 -W <timeout> : 在等待 timeout 秒后开始执行
常用压缩命令
-
zip 命令
用于压缩文件
# 常用参数 -A : 调整可执行的自动解压缩文件 -b<工作目录> : 指定暂时存放文件的目录 -c : 替每个被压缩的文件加上注释 -d : 从压缩文件内删除指定的文件 -D : 压缩文件内不建立目录名称 -F : 尝试修复已损坏的压缩文件 -g : 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件 -i<范本样式> : 只压缩符合条件的文件 -j : 只保存文件名称及其内容,而不存放任何目录名称 -J : 删除压缩文件前面不必要的数据 -k : 使用MS-DOS兼容格式的文件名称 -m : 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中 -n<字尾字符串> : 不压缩具有特定字尾字符串的文件 -q : 不显示指令执行过程 -r : 递归处理,将指定目录下的所有文件和子目录一并处理 -S : 包含系统和隐藏文件 -t<日期时间> : 把压缩文件的日期设成指定的日期 -T 检查备份文件内的每个文件是否正确无误 -u / -f : 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中 -v : 显示指令执行过程或显示版本信息 -<压缩效率> : 压缩效率是一个介于1-9的数值
-
unzip 命令
用于解压缩zip文件
# 常用参数 -c : 将解压缩的结果显示到屏幕上,并对字符做适当的转换 -f : 更新现有的文件 -l : 显示压缩文件内所包含的文件 -p : 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 -t : 检查压缩文件是否正确 -u : 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中 -v : 执行是时显示详细的信息。 -z : 仅显示压缩文件的备注文字 -a : 对文本文件进行必要的字符转换 -b : 不要对文本文件进行字符转换 -C : 压缩文件中的文件名称区分大小写 -j : 不处理压缩文件中原有的目录路径 -L : 将压缩文件中的全部文件名改为小写 -n : 解压缩时不要覆盖原有的文件 -o : 不必先询问用户,unzip执行后覆盖原有文件 -P<密码> : 使用zip的密码选项 -q : 执行时不显示任何信息 -s : 将文件名中的空白字符转换为底线字符 -V : 保留VMS的文件版本信息 <.zip文件> : 指定.zip压缩文件 <文件> : 指定要处理.zip压缩文件中的哪些文件 -d<目录> : 指定文件解压缩后所要存储的目录 -x<文件> : 指定不要处理.zip压缩文件中的哪些文件 -Z unzip : -Z等于执行zipinfo指令