linux命令大全
一、Linux命令
名称: cd
使用权限: 所有使用者
使用方式: cd [dirName]
说明: 变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录)。
另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例: 跳到/usr/bin/ :
cd /usr/bin
跳到自己的home directory :
cd ..
跳到目前目录的上上两层:
cd ../
指令名称: chmod
使用权限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者﹑群组﹑其它。利用chmod 可以藉以控制档案如何被他人所存取。
参数:
mode : 权限设定字符串﹐格式如下: [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者﹐g 表示与该档案的拥有者属于同一个群体(group)者﹐o 表示其它以外的人﹐a 表示这三者皆是。+ 表示增加权限﹑- 表示取消权限﹑= 表示唯一设定权限。r 表示可读取﹐w 表示可写入﹐x 表示可执行﹐X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改﹐才显示其更改动作-f : 若该档案权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更) --help : 显示辅助说明--version : 显示版本
范例:将档案file1.txt 设为所有人皆可读取:
chmod ugo+r file1.txt
将档案file1.txt 设为所有人皆可读取:
chmod a+r file1.txt
将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入﹐但其它以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将ex1.py 设定为只有该档案拥有者可以执行:
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod -R a+r *
此外chmod也可以用数字来表示权限如chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。
范例:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
名称:locate 使用权限:所有使用者使用方式: locate [-q] [-d <path>] [--database=<path>] <search string> locate [-r <regexp>] [--regexp=<regexp>] locate [-qv] [-o <file>] [--output=<file>] locate [-e <dir1,dir2,...>] [-f <fstype1,...>] <[-l <level>] [-c] <[-U ] [-u]> locate [-Vh] [--version] [--help] 说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的distribution 之中,数据库的建立都被放在contab 中自动执行。一般使用者在使用时只要用
# locate your_file_name
的型式就可以了。参数:
-u -U <dir> 建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e <dir> 将<dir> 排除在寻找的范围之外。
-l <level> 如果<level> 是1.则激活安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate 必须至实际的档案系统中取得档案的权限资料。
-f <filetype> 将特定的档案系统排除在外,例如我们没有到理要把proc 档案系统中的档案放在数据库中。
-q 安静模式,不会显示任何错误讯息。
-n <num> 至多显示<num> 个输出。
-r <reg> 使用正规表达式<reg> 做寻找的条件。
-o <file> 指定数据库存的名称。
-d <dir> 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息范例:
locate chdrv : 寻找所有叫chdrv 的档案locate -n 100 a.out : 寻找所有叫a.out 的档案,但最多只显示100 个locate -u : 建立数据库
名称: sync 使用权限: 系统管理者使用方式: sync 说明: Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到filesystem buffer 中,这个buffer 是一块内存空间,如果欲写入硬盘的资料存于此buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于buffer 中的资料强制写入硬盘中。
名称:adduser 使用权限:系统管理员使用方式:adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid 或adduser -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell] 附注:adduser 与useradd 指令为同一指令(经由符号连结symbolic link) 说明:新增使用者帐号或更新预设的使用者资料参数: -c comment 新使用者位于密码文件(通常是/etc/passwd)的批注资料-d home_dir 设定使用者的家目录为home_dir ,默认值为预设的home 后面加上使用者帐号loginid -e expire_date 设定此帐号的使用期限(格式为YYYY-MM-DD),默认值为永久有效-f inactive_time 范例:
adduser是增加使用者,相对的,也有删除使用者的指令,userdel
语法:userdel [login ID]
名称:su 使用权限:所有使用者使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 说明:变更为其它使用者的身份,除root 外,需要键入该使用者的密码参数: -f 或--fast 不必读激活档(如csh.cshrc 等),仅用于csh 或tcsh -m -p 或--preserve-environment 执行su 时不改变环境变量-c command 或--command=command 变更为帐号为USER 的使用者并执行指令(command)后再变回原来使用者-s shell 或--shell=shell 指定要执行的shell (bash csh tcsh 等),默认值为/etc/passwd 内的该使用者(USER) shell --help 显示说明文件--version 显示版本信息- -l 或--login 这个参数加了之后,就好象是重新login 为该使用者一样,大部份环境变量(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定USER ,内定是root USER 欲变更的使用者帐号
ARG 传入新的shell 参数范例: su -c ls root 变更帐号为root 并在执行ls 指令后退出变回原使用者。su root -f 变更帐号为root 并传入-f 参数给新执行的shell。su - clsung 变更帐号为clsung 并改变工作目录至clsung 的家目录(home dir)。
名称:sudo 使用权限:在/etc/sudoers 中有出现的使用者使用方式:sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 说明:以系统管理者的身份执行指令,也就是说,经由sudo 所执行的指令就好象是root 亲自执行参数: -V 显示版本编号-h 会显示版本编号及指令的使用方式说明-l 显示出自己(执行sudo 的使用者)的权限-v 因为sudo 在第一次执行时或是在N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过N 分钟,也会问密码-k 将会强迫使用者在下一次执行sudo 时问密码(不论有没有超过N 分钟) -b 将要执行的指令放在背景执行-p prompt 可以更改问密码的提示语,其中%u 会代换为使用者的帐号名称, %h 会显示主机名称-u username/#uid 不加此参数,代表要以root 的身份执行指令,而加了此参数,可以以username 的身份执行指令(#uid 为该username 的使用者号码) -s 执行环境变量中的SHELL 所指定的shell ,或是/etc/passwd 里所指定的shell -H 将环境变量中的HOME (家目录)指定为要变更身份的使用者家目录(如不加-u 参数就是系统管理者root ) command 要以系统管理者身份(或以-u 更改为其它人)执行的指令范例: sudo -l 列出目前的权限sudo -V 列出sudo 的版本信息
名称:init 使用权限:开机时使用方式:init [0123456Ss] 说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用ps -aux 看看第一个行程就是init),并参考/etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过telinit 的指令来更改参数: 0 开机执行层级为0 ,用来关闭系统1 开机执行层级为1 ,用来进行单一使用者模式(single user mode) 4 开机执行层级为4 ,表示进入X window 时的模式6 开机执行层级为6 ,用来重新开机S 或s 不是直接使用的,配合开机执行层级1 时使用,当加上S 或s 表示开机后不参考/etc/inittab 檔235 请参照/etc/inittab 档案内容以及/etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录范例: 由于这并不是让使用者可以单独下指令的执行文件,请参照/etc/inittab
名称:reboot 使用权限:系统管理者使用方式:reboot [-n] [-w] [-d] [-f] [-i] 说明:若系统的runlevel 为0 或6 ,则重新开机,否则以shutdown 指令(加上-r 参数)来取代参数: -n : 在重开机前不做将内存资料写回硬盘的动作-w : 并不会真的重开机,只是把记录写到/var/log/wtmp 档案里-d : 不把记录写到/var/log/wtmp 档案里(-n 这个参数包含了-d) -f : 强迫重开机,不呼叫shutdown 这个指令-i : 在重开机之前先把所有网络相关的装置先停止范例: reboot 重开机。reboot -w 做个重开机的仿真(只有纪录并不会真的重开机)。
名称:halt 使用权限:系统管理者使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p] 说明:若系统的runlevel 为0 或6 ,则关闭系统,否则以shutdown 指令(加上-h 参数)来取代参数:
-n : 在关机前不做将内存资料写回硬盘的动作-w : 并不会真的关机,只是把