由于我们运行大的程序都要在服务器上运行,因此能够熟练运用一些linux命令就很重要,下面就记录一些常用的命令。
1、pwd
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。
2、cd cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。
(1)cd ..可进入上一层目录
(2)cd -可进入上一个进入的目录
(3)cd ~可进入用户的home目录
(4)cd XXX 进入XXX子目录
3、ls
ls命令跟dos下的dir命令一样,用于显示当前目录的内容。4、cp
cp命令用于复制文件或目录。
cp命令可以一次复制多个文件,例如:$cp *.txt *.doc *.bak /home。即将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中。如果要复制整个目录及其所有子目录,可以用cp -R命令。
5、mv
mv命令用于移动文件和更名文件。
例1:$mv example.txt /home。即将当前目录下的example.txt文件移动到/home目录下。
例2:$mv example.txt sample.txt。即将example.txt文件改名为sample.txt。
类似于跟cp命令,mv命令也可以一次移动多个文件。
6、mkdir
这个命令很简单,跟dos的md命令用法几乎一样,用于建立目录。
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录,例如: $ mkdir -p DIRC/hello。
7、tar.gz文件的压缩与解压缩
解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName 具体Linux下tar bz gz等压缩包的压缩和解压可以参考:http://www.bitscn.com/os/linux/200802/127470.html
8、iconv
文本文件字符编码转换
例:iconv -f gbk -t utf8 filename1 > filename2,即将filename1中gbk编码转换成utf8编码,并另存为filename2文档。
9、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 : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
范例 :将档案 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的权限。
10、head
head <filename>:
你可以通过head命令查看具体文件最初的几行内容,该命令默认是前10行内容,如果你想查看前面更多内容,你可以通过一个数字选项来设置,例如 head -20 filename.txt。
11、tail
与head命令相反,tail命令是用来查看具体文件后面几行的内容,默认情况下,是查看该文件尾10行的内容,同样,如果想查看后面更多内容,也是通过数字选项来设置,例如tail -20 filename.txt。
12、more
功能:在终端屏幕按屏显示文本文件。
语法: more [ - 选项 ] 文件
说明: 该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- - More- - ,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。
more命令中各个选项的含义为:
- p 显示下一屏之前先清屏。
- c 作用同- p基本一样。
- d 在每屏的底部显示更友好的提示信息:
- - More- - (XX%)[Press space to
contiune , ‘q’ to quit . ]
而且若用户输入了-个错误命令则显示出错信息,而不是简单地鸣响终端。
- l 不处理(换页符)。如果没有给出这个选项,则more命令在显示了一个包含有字符的行后将暂停显示,并等待接收命令。
- s 文件中连续的空白行压缩成一个空白行显示。
执行中的命令
在more命令的执行过程中,用户可以使用more自己的一系列命令动态地根据需要来选择显示的部分。more在显示完一屏内容之后,将停下来等待用户输入某个命令。下表列出了more指令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在more执行时按h查看。这些命令的执行方法是先输入i(行数)的值,再打所要的命令,不然它会以预设值来执行命令。
i空格 若指定i,显示下面的i行;否则,显示下一整屏。
i回车 若指定i,显示下面的i行;否则,显示下一行。
iD 若指定i,显示下面的i行;否则,往下显示半屏(一般为11行)。
id 同iD 。
iz 同“i空格”类似,只是i将成为以下每个满屏的缺省行数。
is 跳过下面的i行再显示一个整屏。预设值为1。
if 跳过下面的i屏再显示一个整屏。预设值为1。
iB 往回跳过(即向文件首回跳)i屏,再显示一个满屏。预设值为1。
b 与iB相同。
’ 回到上次搜索的地方
q或Q 退出more。
= 显示当前行号。
v 在当前行启动/usr/bin/vi对之进行编辑修改。
h 显示各命令的帮助信息。
i/pattern 查找匹配该模式的第i行。预设值为1。
in 查找符合表达式的倒数i行。预设值为1。
! 或 :! 在子shell中执行命令。
i:n 在命令行中指定了多个文件名的情况下,可用此命令使之显示第i个文件,若i过大(出界),则显示文件名列表中的最后一个文件。
i:p 在命令行中指定了多个文件名的情况下,可用此命令使之显示倒数第i个文件。若i过大(出界),则显示第一个文件。
i:f 显示当前文件的文件名和行数。
? 重复上次键人的命令。
13、Sed
1.sed -n '2'p filename
打印文件的第二行。
2.sed -n '1,3'p filename
打印文件的1到3行
3. sed -n '/Neave/'p filename
打印匹配Neave的行(模糊匹配)
4. sed -n '4,/The/'p filename
在第4行查询模式The
5. sed -n '1,$'p filename
打印整个文件,$表示最后一行。
6. sed -n '/.*ing/'p filename
匹配任意字母,并以ing结尾的单词(点号不能少)
7 sed -n / -e '/music/'= filename
打印匹配行的行号,-e 会打印文件的内容,同时在匹配行的前面标志行号。-n只打印出实际的行号。
8.sed -n -e '/music/'p -e '/music/'= filename
打印匹配的行和行号,行号在内容的下面
9.sed '/company/' a\ "Then suddenly it happend" filename
选择含有company的行,将后面的内容"Then
suddenly it happend"加入下一行。注意:它并不改变文件,所有操作在缓冲区,如果要保存输出,重定向到一个文件。
10. sed '/company/' i\ "Then suddenly it happend" filename
同9,只是在匹配的行前插入
11.sed '/company/' c\ "Then suddenly it happend" filename
用"Then suddenly it
happend"替换匹配company的行的内容。
12.sed '1'd ( '1,3'd '$'d '/Neave/'d) filename
删除第一行(1到3行,最后一行,匹配Neave的行)
13.[ address [,address]] s/ pattern-to-find
/replacement-pattern/[g p w n]
s选项通知s e d这是一个替换操作,并查询pattern-to-find,成功后用replacement-pattern替换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省s e d将所有被替换行写入标准输出,加p选项将使- n选项无效。- n选项不打印输出结果。
w 文件名使用此选项将输出定向到一个文件。(注意只将匹配替换的行写入文件,而不是整个内容)
14.sed s'/nurse/"hello "&/' filename
将'hello '增加到'nurse' 的前面。
15. sed '/company/r append.txt' filename
在匹配company的行的下一行开始加入文件append.txt的内容。
16. sed '/company/'q filename
首次匹配company后就退出sed程序
14、ln
这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
例如:ln -s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接有软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
第三,软链接是可以跨分区的,但是硬链接只能在同一分区内。如果你用ls察看一个目录时,发现有的文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。
15、rm
Rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 递归删除一个非空目录下的一切