[root@localhost zhl]# cp /etc/passwd /etc/group /home/zhl 拷贝两个文件到/home/zhl
cp:是否覆盖“/home/zhl/passwd”? y
cp:是否覆盖“/home/zhl/group”? y
[root@localhost zhl]# cp /etc/passwd /home/zhl 拷贝一个文件到/home/zhl
===========================================================================
[root@localhost zhl]# rm -rf /home/zhl/passwd 选项-rf表示 删除其下子目录 不询问
[root@localhost zhl]# rm /home/zhl/group 有询问
rm:是否删除 一般文件 “/home/zhl/group”? y
===========================================================================
[root@localhost zhl]# ls
Desktop file1 file3 file4 file6 fileml My Documents
[root@localhost zhl]# mv file1 file3
mv:是否覆盖“file 3” ? y
[root@localhost zhl]# ls
Desktop file3 file4 file6 fileml My Documents
[root@localhost zhl]# mv file3 file7
[root@localhost zhl]# ls
Desktop file4 file6 file7 fileml My Documents
[root@localhost zhl]# mv -f file7 file4 选项f表示不询问 直接覆盖
[root@localhost zhl]# ls
Desktop file4 file6 fileml My Documents
============================================
cat功能:
1 显示文件
2 创建文件
3 连接文件
[root@localhost ~]# cat >file1 创建文件
abc
大家好
今天天气不错
[root@localhost ~]# cat file1 显示文件
abc
大家好
今天天气不错
[root@localhost ~]# cat file1 >>file2 文件file1内容追加到file2后面
[root@localhost ~]# cat file2
abc
大家好
今天天气不错
[root@localhost ~]# cat file1 >>file2
[root@localhost ~]# cat file2
abc
大家好
今天天气不错
abc
大家好
今天天气不错
[root@localhost ~]#
=================================================================================
[root@localhost zhl]# ls -l /etc|less
[root@localhost zhl]# ls -l /etc|more 命令ls -l /etc 显示太长 ,利用分屏显示命令more或less 管道符号
===================================================================================
[root@localhost zhl]# head file1
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
显示file1的前20个字符
[root@localhost zhl]# head -c 20 file1
root:x:0:0:root:/roo[root@localhost zhl]#
==================================================================================
azd[root@localhost zhl]# tail -c 3 file2 显示最后3个英文字母
azd[root@localhost zhl]# tail -3 file2 显示最后3行
==================================================================================
[root@localhost zhl]# wc passwd group
35 52 1559 passwd
47 47 621 group
82 99 2180 总计
[root@localhost zhl]#
==================================================================================
touch命令:
新建文件
[root@localhost zhl]# touch abc
[root@localhost zhl]# ls
abc Desktop file1 file2 file4 file6 fileml group My Documents passwd
[root@localhost zhl]# ls -l
总计 17
-rw-r--r-- 1 root root 0 04-18 15:25 abc
drwxr-xr-x 2 zhl zhl 1024 04-08 08:27 Desktop
-rw-r--r-- 1 root root 4677 04-18 14:54 file1
-rw-r--r-- 1 root root 355 04-18 15:19 file2
-rw-r--r-- 1 root root 4 04-09 09:45 file4
-rw-r--r-- 1 root root 16 04-09 09:57 file6
-rw-r--r-- 1 root root 3419 04-18 15:21 fileml
-rw-r--r-- 1 root root 621 04-18 14:44 group
drwxr-xr-x 5 zhl zhl 1024 04-08 08:27 My Documents
-rw-r--r-- 1 root root 1559 04-18 14:44 passwd
-------------------------------------------------
touch命令:
当前目录所有文件 修改时间标签为当前系统时间
[root@localhost zhl]# touch *
[root@localhost zhl]# ls -l
总计 17
-rw-r--r-- 1 root root 0 04-18 15:26 abc
drwxr-xr-x 2 zhl zhl 1024 04-18 15:26 Desktop
-rw-r--r-- 1 root root 4677 04-18 15:26 file1
-rw-r--r-- 1 root root 355 04-18 15:26 file2
-rw-r--r-- 1 root root 4 04-18 15:26 file4
-rw-r--r-- 1 root root 16 04-18 15:26 file6
-rw-r--r-- 1 root root 3419 04-18 15:26 fileml
-rw-r--r-- 1 root root 621 04-18 15:26 group
drwxr-xr-x 5 zhl zhl 1024 04-18 15:26 My Documents
-rw-r--r-- 1 root root 1559 04-18 15:26 passwd
-----------------------------------------------------
touch命令:
文件时间修改为当前系统时间
[root@localhost zhl]# touch -d 20090812 abc
[root@localhost zhl]# ls -l
总计 17
-rw-r--r-- 1 root root 0 2009-08-12 abc
drwxr-xr-x 2 zhl zhl 1024 04-18 15:26 Desktop
-rw-r--r-- 1 root root 4677 04-18 15:26 file1
-rw-r--r-- 1 root root 355 04-18 15:26 file2
-rw-r--r-- 1 root root 4 04-18 15:26 file4
-rw-r--r-- 1 root root 16 04-18 15:26 file6
-rw-r--r-- 1 root root 3419 04-18 15:26 fileml
-rw-r--r-- 1 root root 621 04-18 15:26 group
drwxr-xr-x 5 zhl zhl 1024 04-18 15:26 My Documents
-rw-r--r-- 1 root root 1559 04-18 15:26 passwd
[root@localhost zhl]#
==================================================================================
按照文件名称查找
[root@localhost zhl]# find / -name hosts
/etc/avahi/hosts
/etc/hosts
/mnt/sda1/WINDOWS/system32/drivers/etc/hosts
[root@localhost zhl]# find /ect -name "h*" -print
find: /ect: 没有那个文件或目录
[root@localhost zhl]# find . -name "f*" -print
./fileml
./Desktop/firefox.desktop
./file4
./file1
./file6
./file2
[root@localhost zhl]#
查找输入某个用户的文件
[root@localhost zhl]# find / -user zhl
---------------------------------------------------------------------------------
[root@localhost zhl]# find . -user zhl -exec cat '{}' /;|more 在当前目录下查找用户zhl的文件 并执行cat命令
[root@localhost zhl]# find . -name "f*" -exec cat '{}' /; 在当前目录下查找文件名为f开头的文件 并执行cat命令显示文件
[root@localhost zhl]#
---------------------------------------------------------------------------------
find . -type f -exec file ’{}’ /;
Runs ‘file’ on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect them from
interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though ’;’ could have been used
in that case also.
---------------------------------------------------------------------------------
[root@localhost zhl]# find . -size -10 -exec file '{}' /; 在当前目录寻找长度小于10个字节的文件 显示文件类型
[root@localhost zhl]#find . -size -10 -exec ls '{}' /;
[root@localhost zhl]# find . -size -10 -exec ls -l '{}' /; 注意 find后空格 .查找范围后空格 -size选项后空格 -10参数取值后空格 -exec选项后空格 ls -l '{}'后有空格 /;
---------------------------------------------------------------------------------
-------------------------------------------------------------------------------locte命令:
1、建立文件名数据库 利用命令updatedb
[root@localhost ~]# updatedb
updatedb: src/updatedb.c:595:scan_cwd: 断言“name_size > 1” 失败。
已放弃
问题原因:
“name_size > 1” 失败。数据库文件大小太长,大于最高限。
[root@localhost ~]# updatedb -v
可以看到建立文件名数据库时 扫描到的文件路径,
发现是“/sys/module/nousb/parameters/目录里的一个文件导致updatedb退出,这个文件在列表里如下所示:
ls /sys/module/nousb/parameters/ -lah
总计 0
drwxr-xr-x 2 root root 0 2008-04-24
drwxr-xr-x 2 root root 0 2008-04-24 .
drwxr-xr-x 3 root root 0 2008-04-24 ..
就是第一个文件,什么也没显示的。
修改了一下它的配置文件,修改updatedb.conf,把包含这个文件的目录放到PRUNEPATHS里,不让updatedab扫描这个目录,然后重新执行updatedb这个命令。
另外,/dev中的文件很多,是ntfs文件系统的文件,修改updatedb.conf,把包含这个/dev目录放到PRUNEPATHS里,不让updatedab扫描这个目录,然后重新执行updatedb这个命令。
[root@localhost ~]# vi /etc/updatedb.conf
修改后的/etc/updatedb.conf配置文件:
[root@localhost ~]# cat /etc/updatedb.conf
PRUNEFS = "auto afs iso9660 sfs udf"
PRUNEPATHS = "/sys /dev"
重新执行updatedb 不再提示错误:
[root@localhost ~]# updatedb
[root@localhost ~]#
[root@localhost ~]#
2、利用命令locate,在文件名数据库中查找file1文件
[root@localhost ~]# locate file1
/home/file1
/home/zz/file1
/home/zhl/file1
/root/file1
/usr/openoffice.org2.4/program/libucpfile1.so
/usr/openoffice.org2.4/program/libucpfile1.so.1.1
[root@localhost ~]# --
==================================================================================
grep命令:
功能:在指定文件中寻找符合条件的字符。
[root@localhost zhl]# cat >d
abc
abc
&&[root@localhost zhl]# cat ab d
在文件d中,寻找包含ab的行
[root@localhost zhl]# cat >mode
ab
-f 文件名 :在指定文件中寻找包含文件名内容的行
&&[root@localhost zhl]# grep -f mode d
abc
abc
在文件d中,寻找包含mode文件内容的行
&&和&&命令效果是相同的。
==================================================================================
tr命令:
功能:字符替代。
[root@localhost zhl]# tr -s a A
apple
Apple
------------------------------------------------
去掉a b:
[root@localhost zhl]# tr -d ab
apple
pple
bed
ed
------------------------------------------------
文件 ls.txt中的多个空格 用 一个 空格 替代:
[root@localhost zhl]# ls -l >ls.txt
[root@localhost zhl]# cat ls.txt
总计 22
-rw-r--r-- 1 root root 0 2009-09-08 abc
-rw-r--r-- 1 root root 8 04-20 20:47 d
drwxr-xr-x 2 zhl zhl 1024 04-19 09:23 Desktop
-rw-r--r-- 1 root root 43 04-19 09:32 file1
-rw-r--r-- 1 root root 1559 04-19 09:23 file2
-rw-r--r-- 1 zhl zhl 4677 04-19 09:23 file3
-rw-r--r-- 1 root root 4 04-19 09:23 file4
-rw-r--r-- 1 root root 16 04-19 09:23 file6
-rw-r--r-- 1 root root 7713 04-19 09:57 fileml
-rw-r--r-- 1 root root 0 04-20 20:51 ls2.txt
-rw-r--r-- 1 root root 0 04-20 20:51 ls.txt
-rw-r--r-- 1 root root 3 04-20 20:48 mode
drwxr-xr-x 5 zhl zhl 1024 04-19 09:23 My Documents
输入重定向符号 <
[root@localhost zhl]# tr -s " "
总计 22
-rw-r--r-- 1 root root 0 2009-09-08 abc
-rw-r--r-- 1 root root 8 04-20 20:47 d
drwxr-xr-x 2 zhl zhl 1024 04-19 09:23 Desktop
-rw-r--r-- 1 root root 43 04-19 09:32 file1
-rw-r--r-- 1 root root 1559 04-19 09:23 file2
-rw-r--r-- 1 zhl zhl 4677 04-19 09:23 file3
-rw-r--r-- 1 root root 4 04-19 09:23 file4
-rw-r--r-- 1 root root 16 04-19 09:23 file6
-rw-r--r-- 1 root root 7713 04-19 09:57 fileml
-rw-r--r-- 1 root root 0 04-20 20:51 ls2.txt
-rw-r--r-- 1 root root 0 04-20 20:51 ls.txt
-rw-r--r-- 1 root root 3 04-20 20:48 mode
drwxr-xr-x 5 zhl zhl 1024 04-19 09:23 My Documents
命令的输出结果 输出重定向 到ls2.txt
[root@localhost zhl]# tr -s " "
[root@localhost zhl]# cat ls2.txt
总计 22
-rw-r--r-- 1 root root 0 2009-09-08 abc
-rw-r--r-- 1 root root 8 04-20 20:47 d
drwxr-xr-x 2 zhl zhl 1024 04-19 09:23 Desktop
-rw-r--r-- 1 root root 43 04-19 09:32 file1
-rw-r--r-- 1 root root 1559 04-19 09:23 file2
-rw-r--r-- 1 zhl zhl 4677 04-19 09:23 file3
-rw-r--r-- 1 root root 4 04-19 09:23 file4
-rw-r--r-- 1 root root 16 04-19 09:23 file6
-rw-r--r-- 1 root root 7713 04-19 09:57 fileml
-rw-r--r-- 1 root root 0 04-20 20:51 ls2.txt
-rw-r--r-- 1 root root 0 04-20 20:51 ls.txt
-rw-r--r-- 1 root root 3 04-20 20:48 mode
drwxr-xr-x 5 zhl zhl 1024 04-19 09:23 My Documents
[root@localhost zhl]#
==================================================================================
==================================================================================
cut命令:
-c 抽取文件字符
[root@localhost zhl]# cat >ex
good
excellent
[root@localhost zhl]# cut -c 0-6 ex
good
excell
抽取每行的第0到6个字符
---------------------------------------------------
-d '分割符'
以分割符为界,抽取指定字段
[root@localhost zhl]# cat >test
red blue green;white blank yellow
[root@localhost zhl]# cut -d ';' -f 1 test
red blue green
以; 为分割抽取第1个字段
[root@localhost zhl]# cut -d';' -f1,3 test
red blue green
以; 为分割抽取第1个和3个字段,test文件没有;隔开的第3个字段
..................................................................................
[root@localhost zhl]# vi test
[root@localhost zhl]# cat test
red blue| green|white blank yellow
修改test文件
[root@localhost zhl]# cut -d'|' -f1,3 test
red blue|white blank yellow
抽取'|' 隔开的字段,抽取第1个和3个字段
[root@localhost zhl]# vi test
[root@localhost zhl]# cat test
red| blue| green|white| blank| yellow
修改test文件
[root@localhost zhl]# cut -d'|' -f1,3,5 test
red| green| blank
抽取'|' 隔开的字段,抽取第1个和3个和5个字段
[root@localhost zhl]#
==================================================================================
输入重定向符:
[root@localhost ~]# cd /home/zhl
[root@localhost zhl]# ls
abc Desktop file1 file3 file6 locate.txt ls.txt My Documents
d ex file2 file4 fileml ls2.txt mode test
[root@localhost zhl]# cat file1
/etc/passwd-
/etc/pam.d/passwd
/etc/passwd
[root@localhost zhl]# tr a-z A-Z < file1
/ETC/PASSWD-
/ETC/PAM.D/PASSWD
/ETC/PASSWD
file1中小写变大写, file1中内容不变
[root@localhost zhl]# cat file1
/etc/passwd-
/etc/pam.d/passwd
/etc/passwd
在命令行中寻找e 直到输入file1 为止,file1是结束字符
[root@localhost zhl]# grep e << file1
> etc
> etc//
> eat
> file1
etc
etc//
eat
在命令行中寻找e 直到输入abc 为止,abc是结束字符
[root@localhost zhl]# grep e << abc
> etc
> abc
etc
显示包含关键字的行
[root@localhost zhl]# grep e << abc
> a
> b
> etc
> yx
> abc
etc
----------------------------------------
输出重定向符:
[root@localhost zhl]# tr a-z A-Z < file1 >file9
[root@localhost zhl]# cat file9
/ETC/PASSWD-
/ETC/PAM.D/PASSWD
/ETC/PASSWD
错误输出重定向符:
[root@localhost zhl]# ls -l f &> error.log
[root@localhost zhl]# cat error.log
ls: f: 没有那个文件或目录
-----------------------------------------
管道符号:
[root@localhost zhl]# cat file3 |grep root |wc -c
231
[root@localhost zhl]# cat file3 |grep root |wc -l
6
[root@localhost zhl]#
==================================================================================
zip和unzip命令:
[root@localhost zhl]# ls
abc error.log file2 file6 home ls.txt test
d ex file3 file9 locate.txt mode test.zip
Desktop file1 file4 fileml ls2.txt My Documents
压缩目录:
[root@localhost zhl]# zip test.zip /home/zhl
updating: home/zhl/ (stored 0%)
压缩目录下的所有文件:
[root@localhost zhl]# zip test.zip /home/zhl/*
adding: home/zhl/abc (stored 0%)
adding: home/zhl/d (stored 0%)
adding: home/zhl/Desktop/ (stored 0%)
adding: home/zhl/error.log (stored 0%)
adding: home/zhl/ex (stored 0%)
adding: home/zhl/file1 (deflated 40%)
adding: home/zhl/file2 (deflated 61%)
adding: home/zhl/file3 (deflated 86%)
adding: home/zhl/file4 (stored 0%)
adding: home/zhl/file6 (deflated 38%)
adding: home/zhl/file9 (deflated 40%)
adding: home/zhl/fileml (deflated 77%)
adding: home/zhl/home/ (stored 0%)
adding: home/zhl/locate.txt (deflated 37%)
adding: home/zhl/ls2.txt (deflated 66%)
adding: home/zhl/ls.txt (deflated 67%)
adding: home/zhl/mode (stored 0%)
adding: home/zhl/My Documents/ (stored 0%)
adding: home/zhl/test (stored 0%)
unzip命令:
-d参数:
功能:解压缩文件 到指定路径
把test.zip解压到 /tmp目录下
[root@localhost zhl]# unzip test.zip -d /tmp
Archive: test.zip
extracting: /tmp/home/zhl/abc
extracting: /tmp/home/zhl/d
creating: /tmp/home/zhl/Desktop/
extracting: /tmp/home/zhl/error.log
extracting: /tmp/home/zhl/ex
inflating: /tmp/home/zhl/file1
inflating: /tmp/home/zhl/file2
inflating: /tmp/home/zhl/file3
extracting: /tmp/home/zhl/file4
inflating: /tmp/home/zhl/file6
inflating: /tmp/home/zhl/file9
inflating: /tmp/home/zhl/fileml
inflating: /tmp/home/zhl/locate.txt
inflating: /tmp/home/zhl/ls2.txt
inflating: /tmp/home/zhl/ls.txt
extracting: /tmp/home/zhl/mode
creating: /tmp/home/zhl/My Documents/
extracting: /tmp/home/zhl/test
把文件/etc/passwd加入到压缩文件test.zip中:
[root@localhost zhl]# zip -g test.zip /etc/passwd
adding: etc/passwd (deflated 61%)
[root@localhost zhl]# unzip test.zip -d /tmp
删除/tmp/home下文件
-r 子目录和文件都删除
-f 不询问
[root@localhost zhl]# rm -rf /tmp/home
[root@localhost zhl]# ls /tmp
currentResolution
gconfd-root
initrd.img.ma7738.gz
inst_path_default.Bd3035
inst_path_override.VS3036
kde-root
ksocket-root
OSL_PIPE_0_SingleOfficeIPC_bfa67ba891bd9b 76f 67a 649f 29db7e59
scim-helper-manager-socket-root
scim-panel-socket:0-root
scim-socket-frontend-root
sv 59c .tmp
再把test.zip解压到 /tmp目录下,多了/tmp/etc/passwd文件,是后加入到test.zip的:
[root@localhost zhl]# unzip test.zip -d /tmp
Archive: test.zip
extracting: /tmp/home/zhl/abc
extracting: /tmp/home/zhl/d
creating: /tmp/home/zhl/Desktop/
extracting: /tmp/home/zhl/error.log
extracting: /tmp/home/zhl/ex
inflating: /tmp/home/zhl/file1
inflating: /tmp/home/zhl/file2
inflating: /tmp/home/zhl/file3
extracting: /tmp/home/zhl/file4
inflating: /tmp/home/zhl/file6
inflating: /tmp/home/zhl/file9
inflating: /tmp/home/zhl/fileml
inflating: /tmp/home/zhl/locate.txt
inflating: /tmp/home/zhl/ls2.txt
inflating: /tmp/home/zhl/ls.txt
extracting: /tmp/home/zhl/mode
creating: /tmp/home/zhl/My Documents/
extracting: /tmp/home/zhl/test
inflating: /tmp/etc/passwd
[root@localhost zhl]#
zip -r 参数:
不加r 只压缩目录
加r 压缩目录下的所有子目录,即递归压缩
[root@localhost zhl]# zip test2.zip /home
adding: home/ (stored 0%)
[root@localhost zhl]# zip -r test2.zip /home
updating: home/ (stored 0%)
adding: home/zhl/ (stored 0%)
adding: home/zhl/.bashrc (deflated 21%)
adding: home/zhl/.gtkrc-2.0 (deflated 13%)
adding: home/zhl/.Xresources (deflated 64%)
adding: home/zhl/test (stored 0%)
adding: home/zhl/fileml (deflated 77%)
adding: home/zhl/.kde/ (stored 0%)
adding: home/zhl/.kde/share/ (stored 0%)
adding: home/zhl/.kde/share/config/ (stored 0%)
adding: home/zhl/.kde/share/config/kscdrc (deflated 40%)
adding: home/zhl/.kde/share/config/kcmdisplayrc (deflated 25%)
……………………………………
adding: home/file1 (deflated 86%)
[root@localhost zhl]#
-v 查看压缩文件不解压
[root@localhost zhl]# unzip -v test.zip
Archive: test.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
0 Stored 0 0% 09-08-09 00:00 00000000 home/zhl/abc
8 Stored 8 0% 04-20-10 20: 47 c 7561987 home/zhl/d
0 Stored 0 0% 04-19-10 09:23 00000000 home/zhl/Desktop/
-jo 参数:
-j参数功能:不重新建立目录结构,直接把文件解压到指定目录
例如:把test2.zip里的文件解压到指定目录/home/zz/files
-o参数功能:解压时,覆盖已经存在的文件,不要求用户回答
root@localhost zhl]# unzip -jo test2.zip -d /home/zz/files
-rw-r--r-- 1 root root 1935 03-03 21:33 xorg.conf 全是单个文件,没有目录
-rw-r--r-- 1 root root 2535 03-03 21:33 xorg.conf.fglrx-0
-rw-r--r-- 1 root root 2022 03-03 20:29 xorg.conf.original-0
-rw-r--r-- 1 root root 2083 2008-01-16 xorg.conf.save
-rw-r--r-- 1 root root 4408 2008-01-16 xpdfrc
-rwxr-xr-x 1 root root 183 2007-03-22 Xreset
-rw-r--r-- 1 root root 1680 2007-03-22 Xresources
-rw-r--r-- 1 root root 163 2008-01-16 xserver
-rw-r--r-- 1 root root 484 2007-03-22 Xservers
-rwxr-xr-x 1 root root 560 2007-03-22 Xsession
-rwxr-xr-x 1 root root 1169 2007-03-22 Xsetup
-rwxr-xr-x 1 root root 205 2007-03-22 Xstartup
-rwxr-xr-x 1 root root 303 2007-03-22 Xwilling
-rw-r--r-- 1 root root 1357 2009-03-23 YMF744.conf
-rw-r--r-- 1 root root 89 2008-01-16 yum
-rw-r--r-- 1 root root 229 2008-01-16 yum.conf
-rwxr-xr-x 1 root root 1102 2008-01-16 yum-updatesd
-rw-r--r-- 1 root root 386 2008-01-16 yum-updatesd.conf
[root@localhost zhl]# ls -l /home/zz/files
==================================================================================
gzip命令:
压缩前有 file2
[root@localhost zhl]# ls
abc error.log file2 file6 locate.txt mode test2.zip zips
d ex file3 file9 ls2.txt My Documents test3.zip
Desktop file1 file4 fileml ls.txt test test.zip
当前目录里file2文件压缩
[root@localhost zhl]# gzip file2
压缩后没有file2 只有file2.gz 压缩文件
[root@localhost zhl]# ls
abc error.log file2.gz file6 locate.txt mode test2.zip zips
d ex file3 file9 ls2.txt My Documents test3.zip
Desktop file1 file4 fileml ls.txt test test.zip
-l参数用于多个文件 查看详细列表 只有一个文件file3 不能用-l参数
[root@localhost zhl]# gzip -lv file3
gzip: file3: not in gzip format
-v 参数
功能:压缩后 显示文件名和压缩比例
[root@localhost zhl]# gzip -v file3
file3: 86.2% -- replaced with file3.gz
------------------------------------------------
gunzip命令:
解压前file2.gz :
[root@localhost zhl]# ls
abc error.log file2.gz file6 locate.txt mode test2.zip zips
d ex file3.gz file9 ls2.txt My Documents test3.zip
Desktop file1 file4 fileml ls.txt test test.zip
解压file2.gz :
[root@localhost zhl]# gunzip -v file2.gz
file2.gz: 61.1% -- replaced with file2
解压后没有file2.gz 只有file2 解压过的文件:
[root@localhost zhl]# ls
abc error.log file2 file6 locate.txt mode test2.zip zips
d ex file3.gz file9 ls2.txt My Documents test3.zip
Desktop file1 file4 fileml ls.txt test test.zip
-l参数用于多个文件 查看详细列表:
[root@localhost zhl]# gzip file2
[root@localhost zhl]# gzip -l f*.gz
compressed uncompressed ratio uncompressed_name
631 1559 61.1% file2
668 4677 86.2% file3
1299 6236 79.6% (totals)
[root@localhost zhl]#
==================================================================================
语 法:tar [主参数+辅助参数] 归档文件名 待备份文件或目录列表
主参数:
-c:创建新的归档文件。当用户要对文件或目录创建备份时使用。
-x:从归档文件中释放文件。
-r:把要存档的文件追加到归档文件的未尾。例如用户已经作好
归档文件,又发现还有一些文件或目录忘记备份了,可以使
用该选项将文件或目录追加到归档文件中。
--delete:将文件从归档文件中删除。
-t:列出档案文件的内容,查看已经备份了哪些文件。
-u:仅仅添加比归档文件更新的文件,如原文档中不存在旧的文件,则追加它到文档中,如存在则更新它。
辅助参数:
-f:使用归档文件或设备,这个选项通常是必选的。
-v:详细报告tar处理的文件信息。
-z:用gzip来压缩/解压缩文件,释放归档文件时也必须有该选项
才能解压缩。
-C directory:将归档文件释放到directory指定的目录下。
-M:建立多卷的归档文件,以便在几个磁盘中存放。
-b:为磁带机设置的参数。后跟一个数字,用来说明区块的大小。
例如:
--------------------------------------------------
创建备份 :
利用参数-c
[root@localhost root]# tar -cvf user1.tar /home/user1
把/home/user1目录下的文件和子目录备份到user1.tar文件中。
--------------------------------------------------
查看备份文件:
[root@localhost root]# tar -tf user1.tar
查看user1.tar备份文件的内容。
--------------------------------------------------
释放备份:
[root@localhost root]# tar -xvf user1.tar –C /tmp
将user1.tar文件释放到/tmp目录下。
--------------------------------------------------
以压缩方式备份:
[root@localhost root]# tar -czvf home.tar.gz /home
以gzip压缩文件的格式将/home目录下的文件和子目录备份到home.tar.gz文件中。
[root@localhost root]# tar -xzvf home.tar.gz
在当前目录下释放home.tar.gz文件并解压缩。
--------------------------------------------------
利用参数-r 把文件/home/zhl/ls.txt添加到 file.tar 中
[root@localhost zhl]# tar -rvf file.tar /home/zhl/ls.txt
tar: 从成员名中删除开头的“/”
/home/zhl/ls.txt
[root@localhost zhl]# tar -tf file.tar
home/zhl/zips/
home/zhl/zips/file3
home/zhl/zips/file9
home/zhl/zips/file4
home/zhl/zips/file1
home/zhl/zips/file6
home/zhl/zips/file2
home/zhl/ls.txt 把文件/home/zhl/ls.txt添加到 file.tar 中 的结果
[root@localhost zhl]#
--------------------------------------------------
[root@localhost zhl]# tar -cvf zz.tar /home/zz 建立备份归档zz.tar
tar: 从成员名中删除开头的“/”
/home/zz/
/home/zz/file1
[root@localhost zhl]# tar -tf zz.tar 查看zz.tar
home/zz/
home/zz/file1
[root@localhost zhl]# tar -rvf zz.tar /etc/passwd 追加文件/etc/passwd到zz.tar
tar: 从成员名中删除开头的“/”
/etc/passwd
[root@localhost zhl]# tar -tf zz.tar 查看zz.tar
home/zz/
home/zz/file1
etc/passwd
[root@localhost zhl]# tar -f zz.tar --delete /etc/passwd 从归档中删除文件etc/passwd(命令格式错误)
tar: /etc/passwd:归档中找不到
tar: 由于前面延迟的错误而退出
从备份中删除指定文件:
[root@localhost zhl]# tar -f zz.tar --delete etc/passwd 从归档中删除文件etc/passwd(命令格式正确)
[root@localhost zhl]# tar -tf zz.tar 删除etc/passwd后,查看zz.tar验证
home/zz/
home/zz/file1
[root@localhost zhl]#
==================================================================================
挂载文件系统:
方法两种:
一 手工挂载
二 自动挂载
一 手工挂载
举例1:挂载分区
1 卸载分区前查看/mnt/sda5 有内容
[root@localhost ~]# ls /mnt/sda5
Backup d1 FavoriteVideo Program Files T1.C turboc
b.txt d2 fileml RECYCLER TDDOWNLOAD WebSites
C_074.GHO d3 fileml.txt System Volume Information text 张慧丽
2 卸载分区
[root@localhost ~]# umount /mnt/sda5
3 卸载分区后,查看分区,没有内容
[root@localhost ~]# ls /mnt/sda5
[root@localhost ~]# ls -a /mnt/sda5
. ..
4 挂载分区
[root@localhost ~]# mount -t ntfs -3g /dev/sda5 /mnt/sda5
注释:该分区的文件类型ntfs-3g 可以从/etc/fstab中找到
5 挂载分区后,查看/mnt/sda5 有内容
[root@localhost ~]# ls -a /mnt/sda5
. Backup C_074.GHO d2 FavoriteVideo fileml.txt RECYCLER T1.C text WebSites
.. b.txt d1 d3 fileml Program Files System Volume Information TDDOWNLOAD turboc 张慧丽
[root@localhost ~]#
二 自动挂载
利用/etc/fstab
==================================================================================
第3章 系统安全
例1:增加所属用户对appc文件的执行权限,增加同组用户对appc文件的写权限:
[root@localhost test]# chmod u+x,g+w appc
例2:取消所属用户对myfile文件的写权限:
[root@localhost test]# chmod u-w myfile
==================================================================================
umask 默认权限掩码值
1 不加参数的umask 显示当前权限掩码
[root@localhost ~]# umask
0022
2 设置默认权限掩码
[root@localhost ~]# umask 000
[root@localhost ~]# umask
0000
[root@localhost ~]# cd /home
3 验证 新建目录 权限
[root@localhost home]# ls -l
总计 4016
-rw-r--r-- 1 root root 15 05-10 08:47 b.txt
-rwxrwxrwx 1 root root 29866 05-09 17:24 fileml
drwxr-xr-x 3 root root 1024 05-10 08:36 home
drwxr-xr-x 2 root root 1024 05-09 14:42 Linux操作系统实用教程资源
[root@localhost home]# mkdir dir1
[root@localhost home]# ls -l
总计 4017
-rw-r--r-- 1 root root 15 05-10 08:47 b.txt
drwxrwxrwx 2 root root 1024 05-13 21:12 dir1
-rwxrwxrwx 1 root root 29866 05-09 17:24 fileml
drwxr-xr-x 3 root root 1024 05-10 08:36 home
drwxr-xr-x 2 root root 1024 05-09 14:42 Linux操作系统实用教程资源
4 验证 新建文件 权限
[root@localhost home]# touch c.txt
[root@localhost home]# ls -l
总计 4017
-rw-r--r-- 1 root root 15 05-10 08:47 b.txt
-rw-rw-rw- 1 root root 0 05-13 21: 12 c .txt
drwxrwxrwx 2 root root 1024 05-13 21:12 dir1
-rwxrwxrwx 1 root root 29866 05-09 17:24 fileml
drwxr-xr-x 3 root root 1024 05-10 08:36 home
drwxr-xr-x 2 root root 1024 05-09 14:42 Linux操作系统实用教程资源
==================================================================================
1 添加用户zhl
[root@localhost ~]# useradd zhl
2 为用户zhl设置口令
[root@localhost ~]# passwd zhl
Changing password for user zhl.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
----------------------------------------
[root@localhost ~]# useradd jsj
[root@localhost ~]# passwd jsj
Changing password for user jsj.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
----------------------------------------
1 查看文件/etc/passwd
多了两个用户信息 zhl jsj
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
audio:x:101:101:Alsa audio:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
pulse:x:102:102:PulseAudio daemon:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
ident:x:98:98::/home/ident:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
zhl:x:500:500::/home/zhl:/bin/bash
jsj:x:501:501::/home/jsj:/bin/bash
多了两个用户信息 zhl jsj
=================================================
1 在/home/zhl下新建一个文件a.txt 并查看 文件主 所属组
[root@localhost ~]# cd /home/zhl
[root@localhost zhl]# ls
Desktop My Documents
[root@localhost zhl]# cat > a.txt
12345
asdfg
[root@localhost zhl]# ls
a.txt Desktop My Documents
[root@localhost zhl]# ls -l
总计 3
-rw-r--r-- 1 root root 12 05-14 11: 44 a .txt 文件主是root 所属组是root
drwxr-xr-x 2 zhl zhl 1024 05-14 11:41 Desktop
drwxr-xr-x 5 zhl zhl 1024 05-14 11:41 My Documents
-------------------------------------------
2 改变a.txt文件的 所属组为zhl
[root@localhost zhl]# chgrp zhl a.txt
[root@localhost zhl]# ls -l
总计 3
-rw-r--r-- 1 root zhl 12 05-14 11: 44 a .txt 文件主是root 所属组是zhl 所属组已经被修改
drwxr-xr-x 2 zhl zhl 1024 05-14 11:41 Desktop
drwxr-xr-x 5 zhl zhl 1024 05-14 11:41 My Documents
------------------------------------------
3 改变a.txt文件的 文件主为zhl 所属组为jsj
[root@localhost zhl]# chown zhl:jsj a.txt
[root@localhost zhl]# ls -l
总计 3
-rw-r--r-- 1 zhl jsj 12 05-14 11: 44 a .txt 文件主是zhl 所属组是jsj 已经被修改
drwxr-xr-x 2 zhl zhl 1024 05-14 11:41 Desktop
drwxr-xr-x 5 zhl zhl 1024 05-14 11:41 My Documents
=================================================
1 新建目录/home/zhl/newdir1
[root@localhost zhl]# ls -l
总计 4
-rw-r--r-- 1 zhl jsj 12 05-14 11: 44 a .txt
drwxr-xr-x 2 zhl zhl 1024 05-14 11:41 Desktop
drwxr-xr-x 5 zhl zhl 1024 05-14 11:41 My Documents
drwxr-xr-x 2 root root 1024 05-14 11:48 newdir1
---------------------------------------------------
2 修改目录/home/zhl/newdir1 的文件主 所属组
[root@localhost zhl]# chown zhl:jsj /home/zhl/newdir1
3 修改前/home/zhl/newdir1 的文件主 所属组
[root@localhost zhl]# ls -l
总计 4
-rw-r--r-- 1 zhl jsj 12 05-14 11: 44 a .txt
drwxr-xr-x 2 zhl zhl 1024 05-14 11:41 Desktop
drwxr-xr-x 5 zhl zhl 1024 05-14 11:41 My Documents
drwxr-xr-x 2 zhl jsj 1024 05-14 11:48 newdir1
[root@localhost zhl]# ls -l /home/zhl/newdir1
总计 1
-rw-r--r-- 1 root root 10 05-14 11:48 文本文件
[root@localhost zhl]# chown -R zhl:jsj /home/zhl/newdir1
[root@localhost zhl]# ls -l /home/zhl/newdir1
总计 1
-rw-r--r-- 1 zhl jsj 10 05-14 11:48 文本文件
[root@localhost zhl]#
==================================================================================
1 adduser命令
[root@localhost ~]# cd /home
[root@localhost home]# ls
b.txt fstab_bf job user1 work
c.txt home jsj user1.tar zhl
dir1 home1.zip Linux操作系统实用教程资源 user1.tar.gz
fileml home2.zip ml user.tar.gz
参数-d 不能是已经存在的目录 会提示错误:-d /home/dir1
[root@localhost dir1]# adduser china -d /home/dir1 -g root
adduser:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
参数-d 的正确使用 新的目录 例如:-d /home/zhengzhou
[root@localhost dir1]# adduser zz -d /home/zhengzhou -g root
该命令含义:增加用户zz 指定该用户的工作目录是/home/zhengzhou 使该用户属于 root组
[root@localhost dir1]# cd /home
[root@localhost home]# ls -l
总计 11967
-rwxr--rw- 1 root root 15 05-10 08:47 b.txt
drwx------ 7 work work 1024 05-17 09:32 work
……………………
drwx------ 6 zz root 1024 05-18 11:46 zhengzhou //用户zz的工作目录
drwx------ 7 zhl zhl 1024 05-14 11:48 zhl
[root@localhost home]#
==================================================================================
2 passwd命令使用
功能3个:
1)设置用户密码
2)删除用户密码
3)禁用和恢复用户帐号
-----------------------------------------------
1)设置用户密码
passwd zz
2)删除用户密码
[root@localhost home]# passwd -d zz
Removing password for user zz.
passwd: Success
3)禁用和恢复用户帐号
-l参数:禁用,就是密码加锁
[root@localhost home]# passwd -l zz
Locking password for user zz.
passwd: Success
-S参数:查看帐号状态
[root@localhost home]# passwd -s zz 大写S
passwd: bad argument -s: unknown option
[root@localhost home]# passwd -S zz
Password locked.
-u参数:恢复帐号,密码开锁
[root@localhost home]# passwd -u zz
Unlocking password for user zz.
-f参数:强制为帐户 设置密码
passwd: Unsafe operation (use -f to force).
[root@localhost home]# passwd -f zz
Changing password for user zz.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost home]# passwd -l zz
Locking password for user zz.
passwd: Success
备注:
帐户被禁用后,再以该帐户登录,无法登录
例如1:
logout 注销登录
重新登录,就登录不上
例如2:
在本地机windows 远程登录虚拟机linux ,用禁用的帐号登录不上
========================================================================================
删除用户:
例如:
删除用户job 并把该帐户的工作目录一并删除
[root@localhost ~]# userdel -r job
---------------------------------------------------
删除用户jsj 并把该帐户的工作目录一并删除
[root@localhost ~]# cd /home
[root@localhost home]# ls
aa c.txt fileml home home2.zip Linux操作系统实用教程资源 user1 user1.tar.gz work zhl
b.txt dir1 fstab_bf home1.zip jsj ml user1.tar user.tar.gz zhengzhou 删除前有jsj目录
[root@localhost home]# userdel -r jsj
[root@localhost home]# ls
aa b.txt c.txt dir1 fileml fstab_bf home home1.zip home2.zip Linux操作系统实用教程资源 ml user1 user1.tar user1.tar.gz user.tar.gz work zhengzhou zhl
[root@localhost home]# 删除后 没有jsj目录
========================================================================================
========================================================================================
修改用户属性命令usermod:
功能:
1)更改用户的主目录,并把原来主目录内容移到新目录,原目录同时删除。利用参数-d -m
2)改变用户的基本组。利用参数-g
功能1 举例:
1)更改用户的主目录,并把原来主目录内容移到新目录,原目录同时删除。
增加用户jsj
[root@localhost /]# adduser jsj
[root@localhost /]# passwd jsj
Changing password for user jsj.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
------------------------------------------------------------------------------------------
切换身份su到用户jsj:
[root@localhost /]# su jsj
以用户jsj身份 查看用户工作目录/home/jsj的内容:
[jsj@localhost /]$ cd /home/jsj
[jsj@localhost ~]$ ls
Desktop My Documents
以用户jsj身份 在工作目录/home/jsj中建立文件file1 该文件的文件主是jsj:
[jsj@localhost ~]$ cat >file1
132434
defdsf
dfaf
以用户jsj身份 查看用户工作目录/home/jsj的内容,三个的文件主都是jsj:
[jsj@localhost ~]$ ls
Desktop file1 My Documents
[jsj@localhost ~]$ ls -l
总计 3
drwxr-xr-x 2 jsj jsj 1024 05-20 21:30 Desktop
-rw-rw-r-- 1 jsj jsj 19 05-20 21:31 file1
drwxr-xr-x 5 jsj jsj 1024 05-20 21:30 My Documents
------------------------------------------------------------------------------------------
切换身份到root用户:
[jsj@localhost ~]$ su
口令:
------------------------------------------------------------------------------------------
更改用户的主目录为新目录/home/jsjbf,并把原来主目录/home/jsj内容移到新目录,原目录同时删除。
[root@localhost jsj]# usermod -d /home/jsjbf -m jsj
[root@localhost jsj]#
------------------------------------------------------------------------------------------
原来主目录/home/jsj 已经没有:
[root@localhost jsjbf]#
[root@localhost jsjbf]# ls /home
aa fileml home2.zip ml user.tar.gz
b.txt fstab_bf images.odt user1 work
c.txt home jsjbf user1.tar zhengzhou
dir1 home1.zip Linux操作系统实用教程资源 user1.tar.gz zhl
新目录/home/jsjbf 就是用户的工作目录,原来主目录/home/jsj内容移到新目录:
[root@localhost jsj]# cd /home/jsjbf
[root@localhost jsjbf]# ls -l
总计 3
drwxr-xr-x 2 jsj jsj 1024 05-20 21:30 Desktop
-rw-rw-r-- 1 jsj jsj 19 05-20 21:31 file1
drwxr-xr-x 5 jsj jsj 1024 05-20 21:30 My Documents
[root@localhost jsjbf]#
====================================================
修改用户属性命令usermod:
功能:
2)改变用户的基本组。利用参数-g
例1:改变用户zhl的的基本组为work。 利用参数-g
修改基本组前/etc/passwd文件的内容(所属基本组的ID 字段为0):
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
。。。。。。。。。。。。。。。。。。。。。
zhl :x :500 :0 ::/home/zhl:/bin/bash
用户名:加密后密码 :用户ID :所属基本组的ID
work:x:502:502::/home/work:/bin/bash
zz:x:505:0::/home/zhengzhou:/bin/bash
aa:x:506:0::/home/aa:/bin/bash
jsj2:x:507:507::/home/jsjbf:/bin/bash
改变用户zhl的的基本组为work。 利用参数-g
[root@localhost ~]# usermod -g work zhl
修改基本组后 /etc/passwd文件的内容(所属基本组的ID 字段修改为502):
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
。。。。。。。。。。。。。。。。。。。
zhl :x :500 :502 ::/home/zhl:/bin/bash
用户名:加密后密码 :用户ID :所属基本组的ID
work:x:502:502::/home/work:/bin/bash
zz:x:505:0::/home/zhengzhou:/bin/bash
aa:x:506:0::/home/aa:/bin/bash
jsj2:x:507:507::/home/jsjbf:/bin/bash
-------------------------------------------
例2:改变用户aa的的基本组为work。 利用参数-g
[root@localhost ~]# usermod -g work aa
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
。。。。。。。。。。。。。。。。。。。。。。。。。
zhl:x:500:502::/home/zhl:/bin/bash
work:x:502:502::/home/work:/bin/bash
zz:x:505:0::/home/zhengzhou:/bin/bash
aa:x:506:502::/home/aa:/bin/bash
jsj2:x:507:507::/home/jsjbf:/bin/bash
观察修改前后, /etc/passwd文件内容的不同。
========================================================================================
su命令:转换身份
1)转换身份不改变当前目录
[root@localhost home]# su zz
[zz@localhost home]$
[root@localhost ~]# su zhl
[zhl@localhost root]$ pwd
/root
[zhl@localhost root]$ su
口令:
[root@localhost ~]# pwd
/root
------------------------------------------------
2)转换身份改变当前目录 带上符合-
[root@localhost ~]# su - zhl
[zhl@localhost ~]$ pwd
/home/zhl
[zhl@localhost ~]$ su -
口令:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
==================================================================================
组的添加和删除
1)组的添加
组的添加使用groupadd命令,只能由超级用户执行添加组操作。
语法:groupadd 组名
例如:
[root@localhost root]# groupadd workgroup
[root@localhost ~]# cat /etc/group
添加组后,可以查看/etc/group文件
2)删除组
删除组使用groupdel 组名
注意:删除组时,如果该组是用户的基本组,则组不能被删除。
另外,组被删除时,组所拥有的文件并不会被删除掉,这些文件的所属组信息也不会发生改变。
例如:
[root@localhost ~]# groupdel work
groupdel:不能删除用户的主组。
[root@localhost ~]#
================================================================================
组中用户的添加和删除
语法:gpasswd [参数] 组名
参数:
-a username:把指定用户加入组中。
-d username:把指定用户从组中删除。
-r:取消组的密码。
-A username:将指定用户作为组的管理员。
/etc/passwd文件内容:
。。。。
pcap:x:77:77::/var/arpwatch:/sbin/nologin
zhl:x:500:502::/home/zhl:/bin/bash
work:x:502:502::/home/work:/bin/bash
zz:x:505:0::/home/zhengzhou:/bin/bash
aa:x:506:502::/home/aa:/bin/bash
jsj2:x:507:507::/home/jsjbf:/bin/bash
[root@localhost ~]# gpasswd -a zhl work
正在将用户“zhl”加入到“work”组中
[root@localhost ~]# gpasswd -a zz work
正在将用户“zz”加入到“work”组中
查看用户zz所属组的信息:
[root@localhost ~]# id zz
uid=505(zz) gid=0(root) groups=0(root),502(work)
注释:用户id(用户名) 主组id(主组名) 所属组=主组root,附属组work
[root@localhost ~]# gpasswd -d zz work
正在将用户“zz”从“work”组中删除
[root@localhost ~]# id zz
uid=505(zz) gid=0(root) groups=0(root)
[root@localhost ~]#
================================================================================
第4章 进程管理
ps命令:
功能:显示系统瞬时的进程信息。
1 显示该用户正在运行的进程(root用户在 运行的进程)
[root@localhost ~]# ps
PID TTY TIME CMD
3351 pts /2 00:00:00 bash
4956 pts /2 00:00:00 ps
2 显示进程的完整信息
[root@localhost ~]# ps -f
UID PID PPID C STIME TTY TIME CMD
root 3351 3349 0 22: 02 pts /2 00:00:00 /bin/bash
root 4966 3351 0 22: 26 pts /2 00:00:00 ps -f
3 显示所有用户进程,显示进程完整进程
打开多个控制台
[root@localhost ~]# ps -af
UID PID PPID C STIME TTY TIME CMD
root 3910 3885 0 22: 10 pts /1 00:00:00 su zhl
zhl 3919 3910 0 22: 10 pts /1 00:00:00 bash
root 4113 4086 0 22: 12 pts /3 00:00:00 su jsj2
jsj2 4122 4113 0 22: 12 pts /3 00:00:00 bash
root 5219 3351 0 22: 30 pts /2 00:00:00 ps -af
[root@localhost ~]#
4 参数组合aux查看进程情况
[root@localhost ~]# ps -axu|less
5 长格式显示进程 (包括状态字段 S)
[root@localhost ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 4502 4501 0 80 0 - 1475 wait pts/1 00:00:00 bash
0 R 0 6497 4502 0 80 0 - 1410 - pts/1 00:00:00 ps
================================================================================
[root@localhost ~]# ps -a
PID TTY TIME CMD
3397 pts /2 00:00:02 find
3424 pts /2 00:00:02 find
3536 pts /2 00:00:00 ps
[root@localhost ~]# kill 3397
[1]- 已终止 find / -name passwd
[root@localhost ~]# ps -a
PID TTY TIME CMD
3424 pts /2 00:00:02 find
3549 pts /2 00:00:00 ps
[root@localhost ~]# kill 3549
bash: kill: (3549) - 没有那个进程
[2]+ Done find / -name passwd
[root@localhost ~]# ps -a
PID TTY TIME CMD
3574 pts /2 00:00:00 ps
[root@localhost ~]#
================================================================================
at命令:
[root@localhost zhl]# at 21:33 05/22/2010
at> cat /etc/passwd > /home/zhl/bb
at>
job 5 at 2009-05-22 21:33
Can't open /var/run/atd.pid to signal atd. No atd running?
atd服务没有运行
在服务中 启动 atd服务
启动服务后就能运行计划任务at的命令
例如:
在今天 21:37 执行文件work中的命令,可用vi编辑文件work。
[root@localhost zhl]# vi work
[root@localhost zhl]# at -f work 21:37 today
job 7 at 2010-05-22 21:37
================================================================================
crontab命令:
linux中的Cron命令是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
注意:
linux启动服务后,还不能应用该服务时,要重启操作系统。
可以把启动服务命令 /sbin/service crond start 写到 /etc/rc.local中,
这样开机自检后,系统就会执行/etc/rc.local中的命令,
这样crontab命令才可用。
--------------------------------------------------------------------------------
直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -l //列出某个用户cron服务的详细内容
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:
crontab - -l
在编辑cron服务时,编辑的内容有一些格式和约定,输入:
引用:
crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:
*/1 * * * * ls > /tmp/ls.txt
例如:
查看计划任务列表:
[root@localhost zhl]# crontab -l
35 22 * * * cat /etc/passwd > /home/zhl/pwbf.txt
================================================================================
第5章 网络配置
查看系统所有的网络接口ifconfig -a:
因为设置是自动获得ip,在系统没有连接网络时候,网络接口的ip是没有的。
[root@localhost ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr D8:D3:85:08:FA:1E
BROADCAST MULTICAST MTU:1500 Metric:1 不显示ip
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17 Memory:e0000000-0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wlan0 Link encap:Ethernet HWaddr 00:26:C6: 9C :D9:14
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-26-C6 -9C -D 9-14-00 -40-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
-----------------------------------------------
设置eth0 的ip地址是192.168.1.101 子网掩码netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.1.101 netmask 255.255.255.0
再查看网络接口ip和mask 就是刚才命令设置的内容:
[root@localhost ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr D8:D3:85:08:FA:1E
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17 Memory:e0000000-0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wlan0 Link encap:Ethernet HWaddr 00:26:C6: 9C :D9:14
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-26-C6 -9C -D 9-14-00 -80-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
--------------------------------------------
设置无线网卡ip wlan0 192.168.1.102 子网掩码netmask 255.255.255.0
[root@localhost ~]# ifconfig wlan0 192.168.1.102 netmask 255.255.255.0
再查看网络接口ip和mask 就是刚才命令设置的内容:
[root@localhost ~]# ifconfig -a
……………………
wlan0 Link encap:Ethernet HWaddr 00:26:C6: 9C :D9:14
inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-26-C6 -9C -D 9-14-00 -40-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@localhost ~]#
================================================================================
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0
[root@localhost ~]# route add 192.168.1.0 gw 192.168.1.1
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0
[root@localhost ~]#
================================================================================
利用netconfig 工具配置ip mask 网关的 方法步骤:
1)打开netconfig工具的窗口配置ip mask 网关
2)利用命令service network restart重启 nettwork服务
设置的ip等信息才会生效
[root@localhost ~]# netconfig
[root@localhost ~]# service network restart
10:00.0 0280: 8086:4237
10:00.0 0280: 8086:4237
弹出界面 eth0: [确定]
正在关闭接口 wlan0: [确定]
关闭环回接口: [确定]
10:00.0 0280: 8086:4237
弹出环回接口: [确定]
弹出界面 eth0: [确定]
弹出界面 wlan0: Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.
================================================================================
文件/etc/hosts存放的是主机域名和ip的对应关系:
[root@localhost ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
------------------------------------------
文件/etc/host.conf 内容表示 先用hosts解析域名,如果不能解析,就到DNS服务器那里解析:
[root@localhost ~]# cat /etc/host.conf
order hosts,bind
------------------------------------------
文件 /etc/sysconfig/network 表示网络的配置信息:
[root@localhost ~]# cat /etc/sysconfig/network
GATEWAY=" 0.0.0 .0"
NETWORKING="yes"
HOSTNAME="localhost.localdomain"
[root@localhost ~]# ifconfig eth0|less
[root@localhost ~]# cat /etc/sysconfig/network
GATEWAY=" 0.0.0 .0"
NETWORKING="yes"
HOSTNAME="localhost.localdomain"
[root@localhost ~]# ifconfig eth0|less
------------------------------------------
目录/etc/sysconfig/network-scripts中存放 各个网络接口的配置文件,eth0等:
[root@localhost ~]# cat /etc/sysconfig/network-scripts
cat: /etc/sysconfig/network-scripts: 是一个目录
[root@localhost ~]# ls /etc/sysconfig/network-scripts
ifcfg-eth0 ifdown-bnep ifdown-ipv6 ifdown-routes ifup ifup-ippp ifup-isdn ifup-ppp ifup-tunnel net.hotplug
ifcfg-lo ifdown-eth ifdown-isdn ifdown-sit ifup-aliases ifup-ipsec ifup-plip ifup-routes ifup-wireless network-functions
ifcfg-wlan0 ifdown-ippp ifdown-post ifdown-sl ifup-bnep ifup-ipv6 ifup-plusb ifup-sit init.ipv6-global network-functions-ipv6
ifdown ifdown-ipsec ifdown-ppp ifdown-tunnel ifup-eth ifup-ipx ifup-post ifup-sl iwprefer-wlan0.conf
[root@localhost ~]# ls -l /etc/sysconfig/network-scripts
总计 174
-rw-r--r-- 1 root root 105 05-26 10:27 ifcfg-eth0 该ifcfg-eth0文件就是eth0的配置文件
-rw-r--r-- 1 root root 254 2001-06-21 ifcfg-lo
-rw-r--r-- 1 root root 168 05-20 21:55 ifcfg-wlan0
lrwxrwxrwx 1 root root 20 05-10 00:15 ifdown -> ../../../sbin/ifdown
-rwxr-xr-x 1 root root 625 2006-09-12 ifdown-bnep
-rwxr-xr-x 1 root root 5169 2009-04-03 ifdown-eth
-rwxr-xr-x 1 root root 827 2005-04-16 ifdown-ippp
-rwxr-xr-x 1 root root 2159 2006-09-12 ifdown-ipsec
-rwxr-xr-x 1 root root 4473 2006-09-12 ifdown-ipv6
lrwxrwxrwx 1 root root 11 05-10 00:15 ifdown-isdn -> ifdown-ippp
-rwxr-xr-x 1 root root 1481 2006-09-12 ifdown-post
-rwxr-xr-x 1 root root 1084 2006-09-12 ifdown-ppp
-rwxr-xr-x 1 root root 637 2006-07-11 ifdown-routes
-rwxr-xr-x 1 root root 1593 2006-09-12 ifdown-sit
-rwxr-xr-x 1 root root 904 2006-09-12 ifdown-sl
-rwxr-xr-x 1 root root 1074 2006-09-12 ifdown-tunnel
…………………………
[root@localhost ~]# ls -l /etc/sysconfig/network-scripts|less
ifcfg-eth0文件就是eth0 以太网接口的配置文件:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.104
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
[root@localhost ~]#
================================================================================
显示当前日期的 月 日:
[root@localhost ~]# date +"%b%d"
5月27
显示当前的 时间 月 日:
[root@localhost ~]# date +"%T%b%d"
15:20:03 5月27
显示当前日期的 星期几:
[root@localhost ~]# date +"%a"
四
显示当前日期的 星期几(另一种显示方法):
[root@localhost ~]# date +"%A"
星期四
显示当前日期的 月 星期几:
[root@localhost ~]# date +"%B%A"
五月星期四
显示当前日期 和时间:
[root@localhost ~]# date +"%c"
2010年05月27日星期四 15时22分37秒
显示当前日期(格式 月/日/年):
[root@localhost ~]# date +"%D"
05/27/10
当前日期是这一年的第几天:
[root@localhost ~]# date +"%j"
147
[root@localhost ~]# date +"%m"
05
[root@localhost ~]# date +"%x"
2010年05月27日
[root@localhost ~]# date +"%y"
10
[root@localhost ~]# date +"%Y"
2010
[root@localhost ~]# date +"%p"
下午
[root@localhost ~]# date +"%T"
15:24:54
[root@localhost ~]# date +"%r"
下午 03时25分07秒
显示小时:
[root@localhost ~]# date +"%H"
15
显示小时(另外 一种格式):
[root@localhost ~]# date +"%I"
03
[root@localhost ~]# date +"%k"
15
显示分钟:
[root@localhost ~]# date +"%M"
25
[root@localhost ~]#
------------------------------------------------------------------------
两个星期前的日期:
[root@localhost ~]# date -d '2weeks'
2010年 06月 10日星期四 15:59:05 CST
上一个星期一的 日期:
[root@localhost ~]# date -d 'next monday'
2010年 05月 31日星期一 00:00:00 CST
昨天的日期:
[root@localhost ~]# date -d last-day +"%Y%m%d"
20100526
昨天的日期(完整格式):
[root@localhost ~]# date -d next-day +"%x"
2010年05月28日
20天之后的日期:
[root@localhost ~]# date -d '20 days ago'
2010年 05月 07日星期五 16:02:06 CST
20天之后的日期:
[root@localhost ~]# date -d '20 days'
2010年 06月 16日星期三 16:03:41 CST
20天之前的日期:
[root@localhost ~]# date -d '-20 days'
2010年 05月 07日星期五 16:03:46 CST
[root@localhost ~]#
=====================================================================================
查看当前命令别名:
[root@localhost ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
添加信新的别名:
[root@localhost ~]# alias mycd="cd /home/zhl"
[root@localhost ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias mycd='cd /home/zhl'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# mycd
[root@localhost zhl]# unailas mycd
bash: unailas: command not found
[root@localhost zhl]# unalias mycd
[root@localhost zhl]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost zhl]# cat /etc/.bashrc
cat: /etc/.bashrc: 没有那个文件或目录
=====================================================================================
安装****.rpm这种软件安装包 步骤:
[root@localhost soft]# ls
AdobeReader AdobeReader_chs-8.1.7-1.i486.rpm AdobeReader_chs-8.1.7-1.i486.tar.gz linuxqq-v1.0.2-beta1.i386.rpm linuxqq_v1.0.2-beta1_i386.tar.gz
[root@localhost soft]# rpm -ivh AdobeReader_chs-8.1.7-1.i486.rpm
Preparing... ########################################### [100%]
1:AdobeReader_chs ########################################### [100%]
[root@localhost soft]#
=====================================================================================
安装****.tar.gz这种软件安装包 步骤:
1)解压并释放安装软件
[root@localhost soft]# tar zxvf linuxqq_v1.0.2-beta1_i386.tar.gz
linuxqq_v1.0.2-beta1_i386/
linuxqq_v1.0.2-beta1_i386/qq
linuxqq_v1.0.2-beta1_i386/res.db
[root@localhost soft]# ls -l
总计 132064
drwxr-xr-x 2 root root 1024 2009-10-09 AdobeReader
-rw-r--r-- 1 root root 62233723 05-27 20:46 AdobeReader_chs-8.1.7-1.i4
-rw-r--r-- 1 root root 62386430 05-27 20:47 AdobeReader_chs-8.1.7-1.i4
drwxr-xr-x 2 nfsnobody nfsnobody 1024 2009-01-05 linuxqq_v1.0.2-beta1_i386 该目录是释放安装包后生成的
-rw-r--r-- 1 root root 5046743 05-27 20:38 linuxqq-v1.0.2-beta1.i386.
-rw-r--r-- 1 root root 5029235 05-27 20:40 linuxqq_v1.0.2-beta1_i386.
[root@localhost soft]# cd linuxqq_v1.0.2-beta1_i386
[root@localhost linuxqq_v1.0.2-beta1_i386]# ls -a
. .. qq res.db
[root@localhost linuxqq_v 1.0.2 -beta1_i386]# ls -al
总计 6222
drwxr-xr-x 2 nfsnobody nfsnobody 1024 2009-01-05 .
drwxr-xr-x 4 root root 1024 05-28 09:13 ..
-rwxr-xr-x 1 nfsnobody nfsnobody 2190680 2009-01-05 qq 该文件是可执行文件
-rw-r--r-- 1 nfsnobody nfsnobody 4150272 2009-01-05 res.db
2)进入解压后的目录:
[root@localhost soft]# cd linuxqq_v 1.0.2 -beta1_i386
[root@localhost linuxqq_v 1.0.2 -beta1_i386]# qq --prefix=/usr/adobe
bash: qq: command not found
3)执行qq应用程序,弹出qq for Linux 的应用程序对话框,不用安装:
[root@localhost linuxqq_v 1.0.2 -beta1_i386]# ./qq
[root@localhost linuxqq_v 1.0.2 -beta1_i386]#