linux命令的命令
tar与gzip
tar命令
tar [-cxtzjvfpPN] 文件与目录....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
#tar -cvf [文件名.tar] [文件……目录]
查看包文件的内容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
释放包文件#tar -xvf 文件名.tar
gz压缩文件#gzip 文件名
解压缩文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
创建压缩包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看压缩包中的内容
#tar -ztf 文件名.tar.gz
释放压缩包
#tar -zxvf 文件名.tar.gz
mount,umount
mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
注意事项
1、必须将光盘、U盘等放入驱动器在实施挂载操作
2、不能在挂载目录下实施挂载操作,至少在上一级
3、不能在同一目录下挂载两个以上的文件系统
4、Linux预留挂载目录为/mnt
5、不能在挂载目录下实施卸载操作
6、挂载目录必须事先存在
挂载光盘
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸载光盘
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
挂载U盘
#mount /dev/sdb1 /mnt/usb
挂载iso镜像
#mount -t iso9660 -o loop iso镜像文件/mnt/cdrom
基础命令
* LINUX图形界面和命令行界面的切换 进入Ubuntu桌面环境后,可以使用键盘上的“Ctrl+Alt+F1~F6“组合键来切换不同的tty界面,Linux默认提供了6个命令行界面(F1-F6),比如”Ctrl+Alt+F1″就是切换到tty1: 1 /*最上面显示的是Ubuntu的版本计算机名称和tty号*/ 2 Ubuntu 12.04.1 LTS qingsword tty1 4 /*输入用户名和密码即可登录tty1*/ 5 qingsword login: root 6 Password: 在命令行模式下,想要切换回图形界面可以使用组合键”Ctrl+Alt+F7“。另外,如果不是从图形界面切换到tty模式,而是系统启动时候直接进入的命令行模式,在登陆后可以使用”startx”来启动图形界面。 PS:在图形界面下使用”Ctrl+Alt+T“可以快速启动Linux的命令行终端。
* 列出目录中的文件(LS) 在Linux命令行终端中使用的最多的命令就是这个ls,它可以帮助我们列出当前目录下都有哪些文件,下面是一些实例: 1 /* 2 * 使用pwd,查看当前是在哪个目录中, 3 * 显示为“/home/qingsword”,这就是当前命令行所在的目录。 4 */ 5 [qingsword@localhost ~]$ pwd 6 /home/qingsword 8 /*切换到根目录*/ 9 [qingsword@localhost ~]$ cd / 11 /*验证一下,确实在根目录下了*/ 12 [qingsword@localhost /]$ pwd 13 / 15 /*查看根目录下面都有哪些文件和文件夹*/ 16 [qingsword@localhost /]$ ls 17 bin dev home lost+found mnt proc sbin srv tmp var 18 boot etc lib media opt root selinux sys usr 20 /*可以使用两个ll详细输出,这个命令和ls -l效果相同*/ 21 [qingsword@localhost /]$ ll 22 total 78 23 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin 24 dr-xr-xr-x. 5 root root 1024 Aug 8 23:54 boot 25 drwxr-xr-x. 18 root root 3820 Aug 8 17:41 dev 26 drwxr-xr-x. 88 root root 4096 Dec 24 10:39 etc 27 …../*省略部分输出*/….. 29 /*详细输出,并且显示隐藏的文件和文件夹,或ls -al*/ 30 [qingsword@localhost /]$ ll -a 31 total 86 32 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 . 33 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 .. 34 -rw-r–r–. 1 root root 0 Aug 8 17:39 .autofsck 35 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin 36 …../*省略部分输出*/….. 上面为ls常见的用法,下面是一些其他用法: 1 /* 2 * 使用递归模式,显示目录以及下级子目录, 3 * 后面的more是当输出超出终端显示范围时,显示一个more, 4 * 按任意键可以继续显示下面的内容。 5 */ 6 [qingsword@localhost /]$ ls -R | more 8 /*按时间先后显示*/ 9 [qingsword@localhost /]$ ls -t 11 /*横排输出,中间用逗号分隔*/ 12 [qingsword@localhost /]$ ls -m 14 /*按大小排列,先大后小*/ 15 [qingsword@localhost /]$ ls -S 除此之外ls会显示不同颜色,下面是这些颜色的含义: 蓝色—目录 绿色—可执行文件 红色—压缩文件 浅蓝色—链接文件 粉红色—图片文件 黄色—设备文件 灰色—其他文件 可以切换到/dev目录下用ls查看一下,会看到大部分为设备文件。 * 目录切换(CD) 使用cd(Change Directory)命令可以在不同目录之间切换,下面是一些实例: 1 /*当前目录是根目录*/ 2 [qingsword@localhost /]$ pwd 3 / 5 /*使用cd切换到/dev这个目录*/ 6 [qingsword@localhost /]$ cd /dev 7 8 [qingsword@localhost dev]$ pwd 9 /dev 11 /*查看一下当前目录下面的文件*/ 12 [qingsword@localhost dev]$ ls 14 /*这条命令可以用来跳到前一个工作目录,即根目录*/ 15 [qingsword@localhost dev]$ cd - 16 / 18 /*跳到当前用户的家目录*/ 19 [qingsword@localhost /]$ cd ~ 20 [qingsword@localhost ~]$ pwd 21 /home/qingsword 23 /*返回上一层目录*/ 24 [qingsword@localhost ~]$ cd .. 25 [qingsword@localhost home]$ pwd 26 /home * 创建、移动、复制、删除文件的操作 可以使用下面的命令来创建一个目录,或者嵌套的目录: 1 /*我在当前用户的家目录中,首先创建一个单层目录*/ 2 [qingsword@localhost ~]$ mkdir qing 3 [qingsword@localhost ~]$ ls 4 qing 6 /*试着创建一个嵌套的目录,提示错误*/ 7 [qingsword@localhost ~]$ mkdir top/sub/sub2 8 mkdir: cannot create directory `top/sub/sub2′: No such file or directory 10 /*添加-p参数才能创建多层的嵌套目录*/ 11 [qingsword@localhost ~]$ mkdir -p top/sub/sub2 12 [qingsword@localhost ~]$ ls 13 qing top 15 /* 16 * 使用递归显示当前目录下面文件, 17 * “.”代表当前目录,下面表示这个目录下面的子目录和文件。 18 */ 19 [qingsword@localhost ~]$ ls -R 20 .: 21 qing top 23 /*”qing”这个目录下面是空的,没有其他文件和文件夹*/ 24 ./qing: 26 /*”top”目录下还有个子目录”sub”*/ 27 ./top: 28 sub 30 /*sub目录下还有个sub2*/ 31 ./top/sub: 32 sub2 34 /*sub2下面是空的*/ 35 ./top/sub/sub2: 删除目录或者文件: 1 /*强制删除刚才创建的top目录,”rm -rf”后面可以接任何目录或者文件*/ 2 [qingsword@localhost ~]$ rm -rf top 创建文本文件: 1 /*使用touch命令可以创建一个空文本文件*/ 2 [qingsword@localhost ~]$ touch testfile 4 /*使用echo命令将hello这几个字符写入这个文件中*/ 5 [qingsword@localhost ~]$ echo hello>>testfile 7 /*使用more命令显示这个文件中的内容*/ 8 [qingsword@localhost ~]$ more testfile 9 hello 11 /*追加一行,再次显示*/ 12 [qingsword@localhost ~]$ echo My name is QingSword>>testfile 13 [qingsword@localhost ~]$ more testfile 14 hello 15 My name is QingSword 复制文件或文件夹: 1 /*首先创建两个文件夹*/ 2 [qingsword@localhost ~]$ mkdir dir1 3 [qingsword@localhost ~]$ mkdir dir2 4 [qingsword@localhost ~]$ ls 5 dir1 dir2 qing testfile 7 /*将testfile这个文本文件复制到dir2目录中*/ 8 [qingsword@localhost ~]$ cp testfile dir2 9 [qingsword@localhost ~]$ ls dir2 10 testfile 12 /*将dir2目录复制到dir1目录中,复制非空目录要添加参数-r*/ 13 [qingsword@localhost ~]$ cp -r dir2 dir1 14 [qingsword@localhost ~]$ ls -R dir1 15 dir1: 16 dir2 18 dir1/dir2: 19 testfile 21 /* 22 * 复制多个目标到一个文件夹中, 23 * 将dir1和dir2这两个文件夹以及testfile这个文本文件,复制到后面的qing文件夹中。 24 */ 25 [qingsword@localhost ~]$ cp -r dir1 dir2 testfile qing 移动目录或文件(剪切): 1 /*mv可以操作目录和文件,同样可以一次性操作多个目标*/ 2 [qingsword@localhost ~]$ mv dir1 qing 3 [qingsword@localhost ~]$ ls 4 dir2 qing testfile 6 [qingsword@localhost ~]$ mv testfile dir2 qing 7 [qingsword@localhost ~]$ ls 8 qing 9 [qingsword@localhost ~]$ * 重启和关机 使用下面的命令重启和关机(这个命令必须使用root用户才能执行): 1 /*首先切换到root权限*/ 2 [qingsword@localhost ~]$ su 3 Password: 5 /*一分钟后关机*/ 6 [qingsword@localhost ~]# shutdown -h 1 8 /*如果是定时关机,可以打开另外一个终端,使用下面这个命令取消关机*/ 9 [qingsword@localhost ~]# shutdown -c 11 /*马上关机*/ 12 [qingsword@localhost ~]# shutdown -h now 14 /*下面这两条命令也是马上关机*/ 15 [qingsword@localhost ~]# init 0 16 [qingsword@localhost ~]# poweroff 18 /*下面这两条命令都能马上重启*/ 19 [qingsword@localhost ~]# reboot 20 [qingsword@localhost ~]# init 6
uniq
–去除重复行
下面的示例演示如何grep的唯一相关的交易,削减不必要的信息,并获得计数。
jfields$ cat order.out.log | grep \(Kindle\|Hardcover\) | cut -d, -f3 | sort | uniq -c
1 Joy of Clojure
2 Patterns of Enterprise Architecture
jfields$ cat order.out.log | grep \(Kindle\|Hardcover\) | cut -d, -f3 | sort | uniq
Joy of Clojure
Patterns of Enterprise Architecture
命令ls
ls [list]
这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
ls -l(这个参数是字母L的小写,不是数字1)【直接输入ll 等价于 ls -l的效果】
这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):
位置1 2 3 4 5 6 7
文件属性文件数 拥有者 所属者 group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我为大家解释一下这些显示内容的意义。
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是空目录的话,那它的数目就是2,非空目录等于该目录中的目录个数加上2了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
ls –F(注意,是大写的F)
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
cd
cd [change directory]
这个命令是用来进出目录的,它的使用方法和在dos下差不多,但要注意以下两点:首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没写对,cd操作不会成功;其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,则回到/root,与输入cd ~是一样的效果。
2024-08-19 广告
广告 您可能关注的内容 |