Linux的一些常用命令



名称:cat 
使用权限:所有使用者 
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 
参数: 
-n 或 --number 由 1 开始对所有输出的行数编号 
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 
-v 或 --show-nonprinting 

范例: 
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 

名称 : 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 表示这三者皆是。 
表示增加权限、- 表示取消权限、= 表示唯一设定权限。 
表示可读取,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 

效果相同 





若用chmod 4755 filename可使此程式具有root的权限 


指令名称 : chown 
使用权限 : root 

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file... 

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。 

把计 : 

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本 

范例 : 
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : 
chown jessie:users file1.txt 

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : 
chmod -R lamport:users * 


名称:cp 
使用权限:所有使用者 

使用方式: 

cp [options] source dest 
cp [options] source... directory 

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 

把计 

-a 尽可能将档案状态、权限等资料都照原状予以复制。 
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 
范例: 
将档案 aaa 复制(已存在),并命名为 bbb : 
cp aaa bbb 

将所有的C语言程式拷贝至 Finished 子目录中 : 
cp *.c Finished

名称:less 

使用权限:所有使用者 

使用方式: 

less [Option] filename 

说明: 
less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动 
以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。

名称:more 
使用权限:所有使用者 
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 
说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。 
参数:-num 一次显示的行数 
-d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声 
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) 
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行 
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) 
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示 
+num 从第 num 行开始显示 
fileNames 欲显示内容的档案,可为复数个数 
范例: 
more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。 
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。 


名称:mv 
使用权限:所有使用者 

使用方式: 

mv [options] source dest 
mv [options] source... directory 
说明:将一个档案移至另一档案,或将数个档案移至另一目录。 
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。 

范例: 

将档案 aaa 更名为 bbb : 
mv aaa bbb 

将所有的C语言程式移至 Finished 子目录中 : 
mv -i *.c 



名称:rm 
使用权限:所有使用者 

使用方式:rm [options] name... 

说明:删除档案及目录。 

把计 

-i 删除前逐一询问确认。 
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 
-r 将目录及以下之档案亦逐一删除。 
范例: 
删除所有C语言程式档;删除前逐一询问确认 : 
rm -i *.c 

将 Finished 子目录及子目录中所有档案删除 : 
rm -r Finished 



名称:rmdir 
使用权限:于目前目录有适当权限的所有使用者 

使用方式: rmdir [-p] dirName 

说明: 删除空的目录。 

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。 

范例: 

将工作目录下,名为 AAA 的子目录删除 : 
rmdir AAA 

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。 
rmdir -p BBB/Test

名称:touch 
使用权限:所有使用者 

使用方式: 
touch [-acfm] 
[-r reference-file] [--file=reference-file] 
[-t MMDDhhmm[[CC]YY][.ss]] 
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}] 
[--no-create] [--help] [--version] 
file1 [file2 ...] 


说明: 
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。 


参数: 
改变档案的读取时间记录。 
改变档案的修改时间记录。 
假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。 
不使用,是为了与其他 unix 系统的相容性而保留。 
使用参考档的时间记录,与 --file 的效果一样。 
设定时间与日期,可以使用各种不同的格式。 
设定档案的时间记录,格式与 date 指令相同。 
--no-create 不会建立新档案。 
--help 列出指令格式。 
--version 

你可能感兴趣的:(C++,c,linux,unix,C#)