Linux常用Shell命令以及X 窗口系统的使用

一、文件处理命令

1.  ls命令

英文原义:list (显示目录文件及其属性)

执行权限:all user

语法:ls   选项[-alFR] [文件或目录]

-a  显示所有文件包括隐藏文件

-l  使用long format 长格式进行显示

-F  附加文件类别符号在文件名最后

-R  显示目录及其下的子目录内容

示例:$ ls –a  

$ ls –l

说明:“.” 代表当前目录,“..”代表上一层目录,长格式显示的目录或文件属性包括下列七项:文件权限(r-可读, w-可写, x-可执行)、文件数目、所有者、文件大小、建立日期、文件名。参见“2.2.2 文件基础”。

 

2. cd命令

英文原义:change directory (切换目录)

执行权限:all user

语法:cd  [目录]

示例:$ cd ..  回到上层目录

$ cd .  在原目录

$ cd ~  回到user的home directory

$ cd /  切换到根目录

$ cd ../usr 切换到上一层目录的usr目录

 

3.  pwd命令

英文原义:print work directory(显示当前所在目录)

执行权限:all user

语法:pwd

 

示例:$ pwd

 

说明: 由于Linux系统的树状目录结构颇为庞大,若没有使用Shell环境变量指定在Shell提示符显示当前的工作目录,则不断地使用cd切换目录之后,可能会忘记当前所在的目录是哪里,例如在:/usr/bin和/usr/local/bin。一般Shell提示符只显示最后的目录名称bin/,所以会对所在目录产生混淆,因此可以随时用pwd命令了解当前的工作目录/usr/X11R6/bin.显示当前工作目录为/usr/X11R6/bin

 

4.cp ,rm, mvmkdir 命令

英文原义:copy,remove,move, make directory (复制、删除、移动文件,创建目录)

执行权限:all user

语法:cp -afpx [源文件或目录][目地文件或目录]

    -a    archive的意思相当于-dpR,也就是复制所有目录并包括子目录

    -f    强制复制文件

    -p    保留原始文件的日期

    -x    指定文件复制后属于目磁盘的文件系统,如:ext2->fat32

语法:rm   -irf[文件或目录]

    -r    删除目录及其下的所有目录内容

    -f    强制删除

-i    交互模式,删除前再做一次确认

语法:mv –if [源文件或目录][目地文件或目录]

 

5.1n命令

英文原义:link (产生连接文件)

执行权限:All User

语法:ln –s [源文件][目录文件] ( -s symbolic link, 符号连接)

 

示例:ln –s /bin/less /usr/local/bin/less

 

说明:当需要在不同的目录用到相同的文件时,不需要在每一个需要的目录下都放一个相同的文件,只要在某个固定的目录中,放上该文件,然后在其他的目录用ln命令连接它即可,不必重复占用硬盘空间而节约磁盘空间。

二、 文件权限管理命令

1.chmod命令

英文原义:change file or directory’s mode(改变文件或目录的权限)

执行权限:All User

语法:chmod -R [mode=4,2,1 or{a,u,g,o}{+,-,=,}{r, w, x, s,t}][文件或目录]

 

示例:$chmod a+r stuff

      $chmod 755 file 

说明: Linux将文件的权限分成Readable(r)、Writable(w)、executable(x)、Set User’IDSetuid(s)、Set Group ID即Set gid(s)、Sticky bit(t),而将文件的用户分成所有用户All(a)、所有者用户User(u)、同组用户Group(g)、其它用户Other(o)等四种。可以使用chmod加上这些代号规范文件权限。第一个示例赋予所有用户对stuff有读的权利。第二个示例赋予所有者对file文件可读可写可执行,同组用户和其他用户可读可执行的权利而没有改写的权利。

 

2.chown命令

英文原义:Change file or directory's Owner(改变文件或目录的所有者)

执行权限:All User

语法:chown –R [用户][.[群组]][文件或目录]

功能描述:改变文件或目录的所有者

 

3. chgrp命令

英文原义:Change file or directory's Group(改变文件或目录的所属群组)

执行权限:All User

语法:chgrp –R [文件或目录]

三、文件查找命令

1.whereis命令

英文原义:where is file? (显示文件或目录的所在位置)

执行权限:All User

语法:whereis [文件或目录]

 

2.find命令

英文原义:find (查找文件或目录)

执行权限:A11 User

语法.find[查找路径][查找关键字][表答式]

-type 指定查找文件的文件类型,如下:

      o    block  (buffered)  special

      c    characher (unbuffered,special)

      d    directiry

      p    named pipe(FIF0)

      i    regular file

      1    symbolic link

      s    socket

-gid n            指定查找群组id为n的文件

-group grpname    指定查找群组名称为grpname的文件

-iname ‘filename’  指定查找与filename类似的所有文件

另外还可以使用通配符,例如:

find ./ -iname ‘f*’ -print  当前目录下查找所有以f开头的文件名

find ./ -iname ’c??’-print 当前目录下查找以c开头且后面有两个字节的文件名

说明:-name和-iname选项类似,差别在于-name会区分大小写,-iname和-ignore则

不区分大小写。-iname查找文件为连接文件的文件或目录

四、 磁盘管理命令

1. dfdu命令

英文原义:disk filesystem space usage (显示文件系统)

disk file space usage (显示文件使用的空间大小)

执行权限:All User

语法:df –km, du -sbkm

     -b bytes

     -k kilobytes

     -m megabytes

     -s summarize

 

示例:$df

Filesystem  1k-blocks   Used     Available   Use%    Mounted On

/dev/hddl     796033   250353    504556    33%     /

/dev/hdd5    1190014   882595    245933    78%     /usr

/dev/hdd6    796033    421213    333696    56%     /home

/dev/hdd7    199047    130048    58719     69%     /var

/dev/hdal   2044240    1281436   762804     63%     /win98

 

示例:$du –h

2.8M   表示当前子目录下所有的文件和目录占用2.8M空间。

 

2. mount umount命令

  英文原义:mount/umount a filesystem(挂载/拆除文件系统)

  执行权限:root

  语法:mount –a-t fstype -o[options] 设备名称  目录名称

         -a  mount定义在/etc/fstab中的所有分区

         -t  指定文件系统格式(ext2,msdos,vfat,is09660 …)

         -o  指定loop device umount目录名称(mount point)

说明:Linux使用磁盘的方式是必须将这些设备挂在系统的某一个目录,才可能让用户存取。若是Linux系统没有挂载,用户无法直接对硬盘设备操作,所以mount命令非常重要。硬盘的设备驱动为 dev/hda1或/dev/hdb5,具体的符号需查询,如用df显示文件系统。需要注意的是,只有root用户才有此权限。

例如,把U盘挂载到/mnt/usb下,可以用以下命令;注意:在使用U盘前,必须先挂载好U盘。

 

#mount  /dev/sda1   /mnt/usb

五、  程序管理命令

1. pskill命令

英文原义:process status,  kill process(显示线程状态,删除线程)

执行权限:All User

语法:ps aux

a显示所有用户的线程

u显示用户名称

x显示不由tty控制的线程

kill(-HUP or -1) –9 <PID>

           -HUP or-1重新启动某个线程

           -9强制删除线程

说明:执行ps时,加的选项前面不需要“-”,请特别注意!  aux选项可以显示出系统当前的所有线程

 

2. top 命令

英文原义:display top CPU processes

执行权限:All User

语法:top

说明: 除了使用ps监视系统执行程序外,可以使用top同时监视系统效能与执行程序。

六、 显示文本文件与字符串查找命令

1. catmoreless命令

英文原义:concatenate,file perusal filter,opposite of more (显示文件内容)

执行权限:A11 User

语法:cat:[文件或输出],more [文件或输出],less[文件或输出]

 

示例:$cat filel file2>file3 

说明:上述命令将file1,file2的内容一起输出到file3中,达到合并文件的效果。另外,more和less功能是一样的,都可以一页页地查看命令输出或内容的文件内容。唯一的不同在于less可以做上下卷轴的操作,而more就只能向下输出内容,不能再回头输出已经出现过的内容。

 

2. grep命令

英文原义:GNU regular expression print (查找字符串)

执行权限:All User

语法:grep [pattern] [文件或输出]

 

示例:$grep world file.txt (查找file.txt中含有world关键字的内容)

$grep -e “HellO World!” file.txt (查找file.txt中含有Hello World!字符串的内容)

$grep -c world file.txt (计算“world”在file.txt中出现的次数)

七、  压缩与解压缩命令

1. gzip命令

英文原义:GNU zip (使用Lempel-Ziv coding-LZ77技术压缩文件)

执行权限:All User

语法:gzip [选项][-19r][文件]

       -1表示快速压缩

   -9表示最佳状况压缩

   -r 压缩时包含所有子目录

 

2.gunzip命令

英文原义:GNU unzip (解压缩以gzip压缩的.gz文件)

执行权限:A1l User

语法:gunzip:[选项][-r] [文件或目录]

说明:使用gzip –d -r filename.gz和gunzip –r filename.gz功能一样,-d是decompress的意思)。

 

3.tar命令

  英文原义:tar  (压缩文件目录)

  执行权限:All User

  语法:tar [选项][zcvf][文件或目录]

          -z    使用gzip压缩.tar文件

          -c    产生一个tar文件

-v    观看压缩过程

-f    指定压缩成的文件(或压缩到磁带设备)

-x    解压

  说明:一般都是最先的四个选项zcvf全加,这样马上可以将一个目录下所有的文件压缩成一个压缩文件。压缩后文件格式:.tar.gz or .tgz。tar的功能和其他压缩工具不太一样,tar可将一个目录所有的文件压缩成一个文件,但是tar没有空间压缩的功能。因此大家用tar都会配合gzip一起使用,以达到前面介绍gzip时的压缩目录需求——将一个目录下所有的文件压成一个压缩文件。

 

八、 vi 编辑器

vi 是Linux/Unix 世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Linux/Unix 机器都会提供这个软件。

vi 有三种状态,即编辑方式、插入方式和命令方式。

在命令方式下,所有命令都要以:开始,所键入的字符系统均作命令来处理,如:q 代表退出,:w 表示存盘。当你进入vi 时,会首先进入的是命令方式(同时也是编辑方式)。按下i就进入插入方式(i 表示insert),用户输入的可视字符都会添加到文件中,显示在屏幕上。按下ESC 就可以回到命令状态(同时也是编辑方式)。

编辑方式和命令方式类似,都是要输入命令,但它的命令不要以:开始,它直接接受键盘输入的单字符或组合字符命令,例如直接按下u 就表示取消上一次对文件的修改,相当于WINDOWS 下的Undo 操作。编辑方式下有一些命令是要以/开始的,例如查找字符串就是:/string 则在文件中匹配查找string 字符串。在编辑模式下按下:就进入命令方式。

 

基本操作

1)光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然你可以在Linux中使用键盘右边的4 个光标键,但是记住这4 个命令还是非常有用的。这4 个键正是右手在键盘上放置的基本位置。

nG——跳转命令。n 为行数,该命令立即使光标跳到指定行。

Ctrl+G——光标所在位置的行数和列数报告。

w、b——使光标向前或向后跳过一个单词。

 

2)编辑命令

i、a、r——分别代表在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。

cw、dw——分别代表改变(置换)/删除光标所在处的单词的命令(c=change、d=delete)。

x、d$、dd——分别代表删除一个字符、删除光标所在处到行尾的所有字符以及删除整

行的命令。

3) 查找命令

---- /string、?string——分别代表从光标所在处向后或向前查找相应的字符串的命令。

4) 复制命令

---- yy、p——分别代表拷贝一行到剪贴板或取出剪贴板中内容的命令。

 

文件操作

无论是开启新文档或修改旧文件,都可以使用vi,所需指令为:

 $ vi filemane

如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。如果文件已经存在,vi 则会显示文件的首24行,用户可再用光标(cursor)上下移动。

    ~

    ~

  上面是一个经vi 开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。

    —指令i 在光标处插入正文

    —指令I 在一行开始处插入正文

    —指令a 在光标后追加正文

    —指令A 在行尾追加正文

    —指令o 在光标下面新开一行

    —指令O 在光标上面新开一行

在插入方式下,不能打入指令,必需先按〈Esc〉键,返回命令方式后才行。假若用户不知身处何态,也可以按〈Esc〉键,不管处于何种状态,都会返回命令方式。

在修改文件时,如何存档及退出指定文件都非常重要。在vi 内,行使存档或退出的指令时,要按〈Esc〉键回到命令方式后,再按冒号(:),改变为命令接受方式,用户就可以看见在荧幕左下方,出现冒号(:),显示vi 已经改为指令状态,可以进行存档或退出等工作。

    :q!放弃任何改动而退出vi,也就是强行退出

    :w 存档

       :w! 对于只读文件强行存档

    :wq 存档并退出vi

    :x 与wq 的工作一样

    :zz 与wq 的工作一样

 

删除正文

删除或修改正文都是利用编辑方式,故此,下面所提及的指令只需在编辑方式下,直接键入指令即行。

    x 删除光标处字符(Character)

    nx 删除光标处后n 个字符

    nX 删除光标处前n 个字符

    ndw 删除光标处下n 个单词(word)

    dd 删除整行

    d$或D 删除由光标处至该行行尾

    u 恢复前一次所做的删除(即类似windows 中的undo操作)

 

修改正文 

当使用vi 修改正文,加减字符时,就会采用另一组在编辑方式下操作的指令。

    r char 由char 代替光标处的字符

    Rtext〈Esc〉由text 代替光标处的字符

    cwtext〈Esc〉由text 取代光标处的单词

    Ctext〈Esc〉由text 取代光标处至该行结尾处

    cc 使整行空白,但保留光标位置,让你开始打入

    —如删除指令一样,在指令前打入的数,表示执行该指令多少次。

 

检索文件

要检索文件,必需在编辑方式下进行:

    str〈Return〉向前搜寻str 直至文件结尾处

    ?str〈Return〉往后搜寻str 直至文件开头

    n 同一方向上重复检索

    N 相反方向上重复检索

    vi 缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。

 

全程替换

:%s/string1 /string2/g 在整个文件中替换“string1”成“string2”。如果要替换文件中的路径:使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin 换成/bin。也可以使用命令“:%s/\/usr\/bin/\/bin/g”实现,其中“\”是转义字符,表明其后的“/”字符是具有实际意义的字符,而不是分隔符。

 

其它操作

同时编辑2 个文件,假如要拷贝一个文件中的文本并粘贴到另一个文件中,命令如下:

---- vi file1 file2

---- yy 在文件1 的光标处拷贝所在行

---- :n 切换到文件2 (n=next) 或者按ctrl+ww,就在两个文件间切换。

---- p 在文件2 的光标所在处粘贴所拷贝的行

---- :n 切换回文件1

 

将文件中的某一部分修改保存到临时文件,例如仅仅把第20~59 行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。

---- vi file

---- :20,59w /tmp/1

 

如果要在vi 执行期间,转到shell 执行,使用惊叹号(!)执行系统指令,例如在vi 期间,列出当前目录内容,可以键入:

    :!ls

 

另一方面,用户可以在主目录中创建.exrc 环境文件,用set打入选项,每次调用vi 时,就会读入.exrc 中的指令与设置。下面是.exrc 环境文件的实例:

      set wrapmarging=8

      set showmode

set autoindent

九、 man 在线帮助系统

man,info命令

英文原义:manual,information(查找帮助手册,查找帮助信息)

执行权限:All User

语法:man[任何关键字],info[任何关键字]

说明:任何命令或重要文件都可以使用man来查询使用方法,这也是Linux最可爱之处和最完整的在线查询系统。通常man在介绍一个命令的格式时,是按照:

NAME (命令名称)

SYNOPSIS (语法)

DESCRIPTION (描述)

OPTIONS (选项)

用以上四大部分来介绍一个命令,然后会有几个示例教用户如何使用该命令。不过需要注意的是,最后面可能还会出现SEE ALSO的信息,例如:

 

SEE ALSO vi(1)  less(1) ls(1L)。

 

这是说请再参考别的命令帮助的意思,命令后面括号里的数字是代表第几节的意思。如vi(1)是代表vi这个命令帮助的第一节,可执行下面的命令读取:

 

  man 1 vi   

 

less(1)和ls(1L)也是用相同的方式man 1 less或man 1L ls查找在线信息。至于man的文件放在哪里,执行manpath命令就会告诉用户完整的MAN PATH,例如:

/usr/man; /usr/X11R6/man; /usr/local/man; /usr/lib/perl5/man;

man固然是最强大的在线查询工具,但对于想打印出来阅读的用户就有点麻烦了,因为man的格式不是一般的Text文件,用户并不能直接读取存放/usr/man、/usr/X11R6/man下的文件,必须靠man才能阅读,这里提供一个命令可将man转成一般的Text file,这样就可以使用任何的Editor来读取man文件。

 

$man ls  | col -b>ls.Txt

 

还有一个非常有用的命令man2html可以将man在线帮助文件装换为html格式的超文本。 而除了man之外,类似的在线查询工具还有info这个命令,它的用法与man一样。当使用man查询不到某命令或设置文件的相关信息时,可以改用info试试看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值