Linux课程笔记 Day02 命令总结

find

【使用权限】

所有使用者

【语法】

find  [PATH]  [option]  [action]

【功能说明】

查找文件

【参数】

  1. PATH:find命令所查找的起始目录。比如“.”代表当前路径,“/”代表根目录
  2. option:查找文件所要求匹配的条件
  3. action:对查找出的结果要执行的操作

[option]

1. 与时间有关系的参数:atime(访问时间)、ctime(状态修改时间)、mtime(数据内容修改时间)的单位是“天”,amin、cmin、mmin单位是“分钟”。下面以mtime为例。


-mtime  n:  n为数字,列出在第n天(以前)当天24小时之内被更改过的对象

-mtime  +n:n位数字,列出是在n天之前(不包含n天本身)被更改过的对象

-mtime  -n: n位数字,列出在n天内(不包含n天本身)被更改过的对象

-newer  file:file为文件名,列出比file还要新的对象

2. 与用户或者用户组名有关的参数:


-uid  n: n为数字,这个数字是用户的UID

-gid  n: n为数字,这个数字是用户的GID

-user  name:name为用户账号名称

-group name:name为用户组名

-nouser:列出文件所有者不存在于/etc/passwd的对象

-nogroup:列出文件的所有用户组不存在于/etc/group中的对象

3. 与文件权限及名称有关的参数:


-name filename:查找文件名为filename的文件

-size  [+-]SIZE:查找比SIZE还要大(+)或者还要小(-)的文件。这个SIZE的规格有:c代表byte,k代表1024byte

-type TYPE:查找文件的类型为TYPE的,类型主要有:普通文件(f)、目录(d)、设备文件(b、c)、链接文件(l)、socket文件(s)、及FIFO(p)等

-perm mode:查找文件权限“刚好等于mode的文件,这个mode为类似chmod的属性值

-perm  –mode:查找文件权限“必须要全部包括mode的权限“的文件

-perm  +mode:查找文件权限“包含任一mode的权限”的文件

4. 其他参数:


-prune:用来实现忽略某些目录,在该参数前面使用 –path 目录指定忽略目录(如果使用了-depth,该参数将被忽略)

-depth:在查找文件时,首先要查找当前目录中的文件,然后在其子目录中查找

逻辑运算符:not(!)、and(-a,默认)、or(-o)

[action]


-exec  command {}  \;  :command为对查找的结果索要执行的操作

–print:将结果打印到屏幕上,这个是默认操作

–ok commad  {}  \; :和-exec作用相同,只是操作之前会进行交互确认

| xargs command:和-exec一样,可以对用户匹配到的文件执行任何操作,但是-exec对长度有所限制,结果较大的时候,系统性能会下降,效率不高。

【实例】

  • 有时间有关的参数:

[[email protected] ~]# find /home -ctime -5 -exec ls -l {} \;    #-------à查找各用户5天内状态被修改的文件

总计 16

drwx------ 2 qinbf qinbf 4096 05-19 19:27 qinbf

drwx------ 2 test  test  4096 05-20 08:53 test

总计 0

-rw-r--r-- 1 test test 33 05-20 08:50 /home/test/.bash_logout

-rw-r--r-- 1 test test 176 05-20 08:50 /home/test/.bash_profile

-rw------- 1 test test 23 05-20 08:53 /home/test/.bash_history

-rw-r--r-- 1 test test 124 05-20 08:50 /home/test/.bashrc

总计 0

-rw-r--r-- 1 qinbf qinbf 33 05-17 02:23 /home/qinbf/.bash_logout

-rw-r--r-- 1 qinbf qinbf 208 05-17 03:11 /home/qinbf/.bash_profile

-rw------- 1 qinbf qinbf 729 05-20 09:54 /home/qinbf/.bash_history

-rw-r--r-- 1 qinbf qinbf 124 05-17 02:23 /home/qinbf/.bashrc

-rw------- 1 qinbf qinbf 792 05-19 19:19 /home/qinbf/.viminfo

[[email protected] ~]# find /home -newer /etc/passwd ! -newer /home/qinbf/test.txt -type f -exec ls -l {} \;     #------à查找home目录下比/etc/passwd要新,/home/qinbf/test.txt要旧的文件

-rw------- 1 test test 23 05-20 08:53 /home/test/.bash_history

-rw-r--r-- 1 root root 0 05-20 19:15 /home/qinbf/test.txt

-rw------- 1 qinbf qinbf 729 05-20 09:54 /home/qinbf/.bash_history

  • 与用户和用户组有关系的参数

[[email protected] ~]# find /home -user qinbf -group test -type f    -exec ls -l {} \;

#------------à查找home目录下用户属于qinbf,属组属于test的文件

-rw-r--r-- 1 qinbf test 0 05-20 19:26 /home/qinbf/test2.txt

  • 与权限或者名称有关的参数

[[email protected] ~]# find /home -name "*.txt" -perm +4 -exec ls -l {} \;

#------------à查找home目录下名字包含.txt后缀,并且权限至少有4的文件

-rw-r--r-- 1 root root 0 05-20 19:15 /home/qinbf/test.txt

-rw-r--r-- 1 qinbf test 0 05-20 19:26 /home/qinbf/test2.txt

[[email protected] ~]# chmod 740 /home/qinbf/test2.txt

[[email protected] ~]# find /home -name "*.txt" -perm 740 -exec ls -l {} \;

#------------à查找home目录下名字包含.txt后缀,并且权限为740的文件

-rwxr----- 1 qinbf test 0 05-20 19:26 /home/qinbf/test2.txt

  • 其他参数

[[email protected] ~]# find /home -name "*.txt" -perm 740 |xargs ls –l

#--------------à列出home目录下名字包含.txt后缀,并且权限为740的文件

-rwxr----- 1 qinbf test 0 05-20 19:26 /home/qinbf/test2.txt

[[email protected] ~]# find /home -name "*.txt" -perm 740 |xargs rm

#--------------à查找home目录下名字包含.txt后缀,并且权限为740的文件,并删除

[[email protected] ~]# ll /home/qinbf/

总计 4

-rw-r--r-- 1 root root 0 05-20 19:15 test.txt


wc

【使用权限】

所有使用者

【语法】

wc  [-lwm]

【功能说明】

计算文件的行数或者是字数或者是字符数

【参数】

-l:仅列出行数

-w:仅列出多少字(英文单字)

-m:(多少字符)

【实例】

  • -l参数的使用

[[email protected] ~]# wc -l /etc/passwd

39 /etc/passwd   #-------à共有39行

  • -w参数的使用

[[email protected] ~]# wc -w /etc/passwd

58 /etc/passwd

  • -m参数的使用

[[email protected] ~]# wc -m /etc/passwd

1795 /etc/passwd


tar

【使用权限】

所有使用者

【语法】

tar  [-j|-z] [cv] [-f 新建文件名]  filename  #---à打包与压缩

tar  [-j|-z] [cv] [-f 新建文件名]  filename  #---à查看压缩包

tar  [-j|-z] [cv] [-f 新建文件名]  filename  #---à解压缩

【功能说明】

打包与压缩

【参数】

-c:新建打包文件,可搭配-v来查看过程中被打包的文件名

-t:查看打包文件的内容包含哪些文件名,重点在查看文件名

-x:解打包或者解压缩的功能,可以搭配-C在特定的目录中解开

特别留意的是-c、-t、-x不可同时出现在一串命令行中

-j:通过bzip2的支持进行压缩/解压,此时文件名最好为*.tar.bz2

-z:通过gzip的支持进行压缩与解压,此时文件名最好为*.tar.gz

-v:在压缩/解压缩中,将正在处理的文件名显示出来

-f  filename:-f后面要接被处理的文件名,建议-f单独写一个参数

-C 目录:这个参数用在解压时,若要在特定目录中解压,可以使用这个参数

-p(小):保留备份数据的原本权限与属性,常用语备份(-c)重要的配置文件

-P(大):保留绝对路径,即允许备份数据中包含有根目录存在之意

-X,--exclude-from FILE:指定文件列表的形式排出不需要的文件或目录

--exclude=FILE:在压缩过程中,不要将FILE打包

【实例】

  • 1. 两种打包方式

[[email protected] ~]# tar zxvf test.tar.gz -C /tmp/test1

test/

test/test1.txt

test/test4.txt

test/test2.txt

test/test3.txt      
#--------à加了参数v,会显示打包所包含的的文件

[[email protected] ~]# tar jxvf test.tar.bz -C /tmp/test2

test/

test/test1.txt

test/test4.txt

test/test2.txt

test/test3.txt

  • 2.两种方式指定目录解压

[[email protected] ~]# tar zxvf test.tar.gz -C /tmp/test1

test/

test/test1.txt

test/test4.txt

test/test2.txt

test/test3.txt

[[email protected] test1]# cd /tmp/test1/test/

[[email protected] test]# ll

总计 16

-rw-r--r-- 1 root root 0 05-21 02:15 test1.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test2.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test3.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test4.txt

#---------------àtest.tar.gz的文件已经解压到/tmp/test1/目录下了

[[email protected] ~]# tar jxvf test.tar.bz -C /tmp/test2

test/

test/test1.txt

test/test4.txt

test/test2.txt

test/test3.txt

[[email protected] ~]# cd /tmp/test2/test/

[[email protected] test]# ll

总计 16

-rw-r--r-- 1 root root 0 05-21 02:15 test1.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test2.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test3.txt

-rw-r--r-- 1 root root 0 05-21 02:16 test4.txt

  • 3.打包排除总结

[[email protected] ~]# tar jcvf test.tar.bz qinbf
--exclude=qinbf/paichu.txt

qinbf/

qinbf/baoliu.txt   
#------------à qinbf/paichu.txt文件没有被打包

[[email protected] ~]# cd qinbf/

[[email protected] qinbf]# ll

总计 8

-rw-r--r-- 1 root root 0 05-21 02:29 baoliu.txt

-rw-r--r-- 1 root root 0 05-21 02:29 paichu.txt

[[email protected] ~]# echo "qinbf/paichu.txt" >tar.txt   #----àtar.txt文件内容为paichu.txt文件的路径

[[email protected] ~]# tar zcvf paichu.tar.gz qinbf --exclude-from
tar.txt

qinbf/

qinbf/baoliu.txt     
#------------à结果表明并没有将paichu.txt文件打包

  • 4.保留绝对路径

[[email protected] test]# tar zcvf /tmp/test/etc.tar.gz /etc/

tar: 从成员名中删除开头的“/”   
#------à提示会删除“/”

/etc/

/etc/idmapd.conf

/etc/logwatch/

/etc/logwatch/conf/

/etc/logwatch/conf/logwatch.conf

/etc/logwatch/conf/ignore.conf

…………….

[[email protected] test]# tar ztvf /tmp/test/etc.tar.gz

drwxr-xr-x root/root        
0 2013-05-21 02:11:42 etc/

-rw-r--r-- root/root     
3579 2012-02-26 05:26:46 etc/idmapd.conf

drwxr-xr-x root/root        
0 2011-03-31 05:57:33 etc/logwatch/

drwxr-xr-x root/root        
0 2012-05-30 08:38:21 etc/logwatch/conf/

#--------------àetc的前面都不带“/”

解决办法:使用参数P(大写)

[[email protected] test]# tar zcvPf /tmp/test/etc.tar.gz /etc/

/etc/      #-----------à没有提示删除“/”

/etc/idmapd.conf

/etc/logwatch/

/etc/logwatch/conf/

/etc/logwatch/conf/logwatch.conf

/etc/logwatch/conf/ignore.conf

/etc/logwatch/conf/logfiles/

/etc/logwatch/conf/services/

[[email protected] test]# tar ztvf /tmp/test/etc.tar.gz

drwxr-xr-x root/root        
0 2013-05-21 02:11:42 /etc/

-rw-r--r-- root/root     
3579 2012-02-26 05:26:46 /etc/idmapd.conf

drwxr-xr-x root/root        
0 2011-03-31 05:57:33 /etc/logwatch/

drwxr-xr-x root/root        
0 2012-05-30 08:38:21 /etc/logwatch/conf/

drwxr-x--- root/root        
0 2012-05-30 08:37:39 /etc/audit/

#----------------àetc的前面都带有“/”

  • 5.生产场景案例:把外目录下所有包含qinbf的子目录及文件压缩打包

[[email protected] ~]# find . -type d -name "qinbf"

./test/qinbf

./qinbf

[[email protected] ~]# tar zcf qinbf.tar.gz `find . -type d -name
"qinbf"`

#--------à结合find命令,将查找的结果压缩打包

[[email protected] ~]# tar ztvf qinbf.tar.gz

drwxr-xr-x root/root        
0 2013-05-21 02:28:27 ./test/qinbf/

drwxr-xr-x root/root        
0 2013-05-21 02:29:08 ./qinbf/

-rw-r--r-- root/root        
0 2013-05-21 02:29:02 ./qinbf/baoliu.txt

-rw-r--r-- root/root        
0 2013-05-21 02:29:08 ./qinbf/paichu.txt

或者可以用以下方法

[[email protected] ~]# find . -type d -name "qinbf"  |xargs tar zcvf qinbf.tar.gz

#--------à结合find命令,将查找的结果压缩打包

./test/qinbf/

./qinbf/

./qinbf/baoliu.txt

./qinbf/paichu.txt


cut

【使用权限】

所有使用者

【语法】

cut  -d  ‘分隔字符’  –f  fields

cut  -c  字符范围

【功能说明】

选取某一行中的某一段信息

【参数】

-d :后面接分隔字符,与-f一起使用

-f:取出第几段的意思

-c:以字符为单位取出固定字符区间

【实例】

  • cut  -d   -f 
    fields的使用

[[email protected] ~]$ echo "I am qinbf my qq is 530917868"> qinbf.txt

取出"qinbf 530917868"

[[email protected] ~]$ cut  -d " " -f  3,7 qinbf.txt

qinbf 530917868

  • cut  –c的使用

[[email protected] ~]$ echo "I am qinbf my qq is 530917868"> qinbf.txt

取出"qinbf 530917868"

[[email protected] ~]$ cut -c 6-10,21- qinbf.txt

qinbf530917868


grep

【使用权限】

所有使用者

【语法】

grep  [-acinv] 
[-A <显示行数>]  [-B<显示行数>]  [-C<显示行数>] [--color=auto] “查找字符串”  filename

【参数】

-a:将binary(二进制)文件以text文件的方式查找数据

-c: 计算找到“查找字符串”的次数

-i:忽略大小写的不同

-n:顺便输出行号

-v:反向选择,即显示出没有’查找字符’内容的那一行

--color=auto:可以将找到关键字部分加上颜色

-A<显示行数>或—after-context=<显示行数>:除了显示符合查找字符串的那一行之外,并显示该行之后的那几行的内容

-B<显示行数>或—before-context=<显示行数>:除了显示符合查找字符串的那一行之外并显示该行之前的那几行的内容>

-C<显示行数>或—coutext<显示行数>:除了显示符合查找字符串的那一行之外并显示该行前后的内容

【实践】

  • 输出行号并忽略大小写

[[email protected] ~]$ cat test.txt

1sb in the moring

1SB in the evening

2   in the moring

2sb in the evening

3sb in the moring

3sb in the evening

[[email protected] ~]$ grep -in sb  test.txt

1:1sb in the moring

2:1SB in the evening

4:2sb in the evening

5:3sb in the moring

6:3sb in the evening

  • 计算test.txt要查找的字符“sb”和“SB”有多少个

[[email protected] ~]$ grep -c sb test.txt

4

[[email protected] ~]$ grep -c SB test.txt

1

  • 反向查找并忽略大小写

[[email protected] ~]$ grep -iv sb test.txt

2   in the moring

  • -A、-B、-C的使用

[[email protected] ~]$ grep -iv sb -A 1 test.txt  #-----à将目标及后一行输出

2   in the moring

2sb in the evening

[[email protected] ~]$ grep -iv sb -B 1 test.txt  #-----à将目标及前一行输出

1SB in the evening

2   in the moring

[[email protected] ~]$ grep -iv sb -C 1 test.txt  #------à将目标及前一行和后一行都输出

1SB in the evening

2   in the moring

2sb in the evening


date

【使用权限】

所有使用者

【语法】

date  [-u] [-d datestr]  [-s datestr] 
[--utc]  [--universal]
[--date=datestr] [--set=datestr] [--help] 
[--version]  [+FORMAT] [MMDDhhmm]
[CC][YY][.ss]

【功能说明】

Date可以用来显示或设定系统的日期和时间(时间设定必须有root权限)

【参数】

1.参数选项

-u  --utc:显示目前的格林威治时间

-d datestr  --date=datestr:显示datestr中所设定的时间(非系统时间)

-s datestr   --set=datestr:将系统时间设为datestr中所设定的时间

--help:显示辅助信息

--version:显示版本编号

2. 时间格式(记粉底常用项即可)

日期方面:

%a:星期几(Sun-Sta)

%A:星期几(Sunday-Saturday)

%b:月份(Jan-Dec)

%B:月份(January-December)

%c:直接显示日期与时间

%d:日(01-31)

%D:直接显示日期(mm/dd/yy)

%h:同%b

%j:一年中的第几天

%m:月份(01-12)

%U:一年中的第几周(00-53)(以Sunday为一周的第一天)

%w:一周的第几天(0-6)

%W:一年中的第几周(00-53)(以Monday为一周的第一天)

%x:直接显示日期(mm/dd/yy)

%y:年份的最后两位数字(00-99)

%Y:完整年份(0000-9999)

时间方面:

%n:下一行

%t:跳格

%H:小时(00-23)

%I:小时(00-12)

%k:小时(00-23)

%l:小时(1-12)

%M:分钟(00-59)

%p:显示本地AM或PM

%r:直接显示时间(12小时制)

%:s从1970年1月1日00:00:00UTC到目前为止的秒数

%S:秒(00-60)

%T:直接显示时间(24小时制)

%X:相当于%H:%M:%S

%Z:显示时区

【实践】

  • 显示时间

显示时间后跳行再显示目前日期

[[email protected] ~]$ date +%T%n%D[q1]

09:55:59

05/21/13

[[email protected] ~]$ date +"%Y-%m-%d %H:%M:S[q2] "

2013-05-210:09:S

  • 修改时间

[[email protected] ~]$ date -s "2013-05-21 10:26:30"

date: cannot set date: 不允许的操作

2013年 05月 21日 星期二 10:26:30 CST

[[email protected] ~]$ sudo date -s "2013-05-21 10:27:00"

[sudo] password for qinbf:[q3]

2013年 05月 21日 星期二 10:27:00 CST

[[email protected] ~]$ sudo clock -w[q4]

[sudo] password for qinbf:


which

【使用权限】

所有使用者

【语法】

which  [-npwV] 可执行文件名称

【功能说明】

在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索的结果

【参数】

-n:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名

-p:与-n参数相同,但此处的包括了文件的路径

-w:指定输出时栏位的宽度

-V:显示版本信息

【实践】

  • which使用

[[email protected] ~]$ which pwd

/bin/pwd

[[email protected] ~]$ which cd

/usr/bin/which: no cd in
(/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/qinbf/bin:/usr/local/sbin:/sbin:/usr/sbin)

[[email protected] ~]$ sudo su -

[sudo] password for qinbf:

[[email protected] ~]# which
cd[q5]

/usr/bin/which: no cd in
(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[[email protected] ~]$ which which

alias[q6]  which=‘alias |
/usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘

/usr/bin/which

  • 与which功能类似的参数

[[email protected] ~]$ whereis[q7]   which

which: /usr/bin/which /usr/share/man/man1/which.1.gz

[[email protected] ~]$ which[q8]   whereis

/usr/bin/whereis

[[email protected] ~]$ locate[q9]   which

/etc/profile.d/which-2.sh

/usr/bin/sgmlwhich

/usr/bin/which/usr/bin/ypwhich

/usr/lib64/python2.4/whichdb.py

/usr/lib64/python2.4/whichdb.pyc

/usr/lib64/python2.4/whichdb.pyo

/usr/share/doc/which-2.16

/usr/share/doc/bash-3.2/functions/which

/usr/share/doc/which-2.16/AUTHORS

/usr/share/doc/which-2.16/EXAMPLES

/usr/share/doc/which-2.16/NEWS

/usr/share/doc/which-2.16/README

/usr/share/info/which.info.gz

/usr/share/man/man1/which.1.gz

/usr/share/man/man1/ypwhich.1.gz


echo

【使用权限】

所有使用者

【语法】

echo  [-ne] [字符串]或  echo 
[--help][--version]

【功能说明】

显示文字,默认会将结果字符串送往标准输出。输出的字符串以空白字符隔开,并在最后加上换行号

【参数】

-n:不要在最后自动换行

-e:若字符串出现以下字符,则特别处理,而不会将它当成一般文字输出:

\a:发出警告声

\b:删除前一个字符

\c:最后不加上换行号

\f:换行但光标仍旧停留在原来的位置

\n:换行且光标移至行首

\r:光标移至行首。但不换行

\t:插入tab

\v:与\f相同

\\: 插入\字符

\nnn:插入nnn(八进制)所代表的的ASCII字符

--help:显示帮助

--version:显示版本信息

Echo要变换颜色的时候,要使用参数-e

【实践】

  • 使用echo输出变量信息

[[email protected] ~]$ echo  $PATH

/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/qinbf/bin:/usr/local/sbin:/sbin:/usr/sbin

  • echo的默认使用

[[email protected] ~]$ echo hello qinbf

hello qinbf

  • \\参数的使用

[[email protected] ~]$ echo hello \\ qinbf

hello \ qinbf

  • 参数\n的使用

[[email protected] ~]$ echo -e "hello\nqinbf"

hello

qinbf

  • 往文件写内容,如果文件不存在则创建文件

[[email protected] ~]$ ll test/

总计 0

[email protected] ~]$ echo "hello qinbf">test/qinbf.txt

[[email protected] ~]$ ll test/

总计 8

-rw-rw-r-- 1 qinbf qinbf 12 05-21 15:49 qinbf.txt

  • 给用户设置密码

[[email protected] ~]# echo
"qbf8038" | passwd --stdin test

Changing password for user test.

passwd: all authentication tokens updated successfully.


shutdown

【使用权限】

Root权限

【语法】

shutdown  [-t秒] [-arkhncfF] 时间  警告消息

【功能说明】

shutdown可以选择关机模式、设置关机时间、自定义关机消息,也可以仅仅发出警告消息而不是真正的关机、可选择是否要用fsck检查文件系统

【参数】

-t sec:-t 后面加秒数,即过几秒关机的意思

-k:不要真正的关机,只是发送警告消息

-r:在将系统的服务停掉之后就重启(常用)

-h:将系统的服务停掉之后就立刻关机(常用)

-n:不经过init程序,直接以shutdown的功能关机

-f:系统关机并开机后,强制略过fsck的磁盘检查

-F:系统重启之后,强制fsck磁盘检查

-c:取消已经在进行的shutdown命令内容

【实例】

  • Shutdown  -h的使用

[[email protected] ~]#
shutdown -h 10  ‘I will shutdownafter
10 min‘

Broadcast message from
root (pts/1) (Tue May 21 16:23:05 2013):

I will shutdownafter 10
min

The system is going
DOWN for system halt in 10 minutes!

Shutdown cancelled.[q10]

[[email protected] ~]# shutdown -h
now[q11]

[[email protected] ~]# shutdown
-h 20:25[q12]

  • Shutdown –r的使用

[[email protected] ~]# shutdown -r now[q13]

[[email protected] ~]# shutdown -r +30 "The system will reboot"[q14]

Broadcast message from root (pts/1) (Tue May 21 16:30:48 2013):

The system will reboot

The system is going DOWN for reboot in 30 minutes!

  • Shutdown –k的使用

[[email protected] ~]# shutdown
-k now "Hi,I am master"

Broadcast message from root (pts/1) (Tue May 21 16:34:21 2013):

Hi,I am master

The system is going down to maintenance mode NOW!

Shutdown cancelled.[q15]

注:关机命令除了shutdown –h now,还有halt、poweroff以及init 0.


reboot

【使用权限】

Root

【语法】

reboot [-dfinw]

【功能说明】

让系统停止运作,并重新开机

【参数】

-d:重新开机时,不把数据写入/var/tmp/wtmp,本参数具有参数“-n”的效果

-f:强制重新开机,不调用shutdown指令的功能

-i:在重开机之前,关闭网络界面

-n:重开机之前不检查是否有未结束的程序

-w:仅作测试,并不是真正的重新开机,只会把重开机的数据写入/var/log下面的wtmp记录文件


useradd

【使用权限】

Root

【语法】

Useradd [-mMnr] [-c <备注>] [-d <登入目录>]
[-e<有效期限>] [-f<缓冲天数>] [-g <>] [-G<>] [-s<shell>] [-u <uid>]
[用户账号]或useradd –D [-b] [-e<有效期限>] [-f<缓冲天数>]
[-g<群组>] [-G<群组>] [-s<shell>]

【功能说明】

建立用户账号,账号保存在/etc/passwd文件中

【参数】

-c<备注>:加上备注文字,会保存在/etc/passwd的备注栏中

-d<登入目录>:指定用户登入时的起始目录

-D:变更预设值

-e<有效期限>:指定账号的有效期限

-f<缓冲天数>:指定密码过期多少天后即关闭该账号

-g<群组>:指定用户所属的群组

-G<群组>:指定用户所属的附加群组

-m:自动建立用户的登入目录

-M:不要自动建立用户的登入目录

-n:取消建立以用户名称为名的群组

-r:建立系统账号

-s<shell>:指定用户登入后所使用的shell

-u<uid>:指定用户ID

【实践】

  • Useradd常用参数使用

[[email protected] ~]# useradd
-d /home/no -G test -u 1988 -c "just for test" zhanghu

[[email protected] ~]# tail
-5 /etc/passwd

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

wp:x:500:48::/var/www/example.com:/bin/bash

qinbf:x:501:501::/home/qinbf:/bin/bash

test:x:502:502::/home/test:/bin/bash

zhanghu:x:1988[q16] :1988:just for
tes[q17] t:/home/no:[q18] /bin/bash

[[email protected] ~]# tail
-5 /etc/group

avahi-autoipd:x:102:

mysql:x:27:

qinbf:x:501:

test:x:502:zhanghu[q19]

zhanghu:x:1988:

[[email protected] ~]# su
- zhanghu

[[email protected] ~]$ pwd

/home/no


passwd

【使用权限】

所有使用者

【语法】

passwd  账户 [用于root权限]

passwd  [普通账户使用]

【功能说明】

修改账户的密码

【参数】

passwd的参数为账户,只有root权限才能修改其他账户的密码,普通用户只能修改自己账户的密码

  • passwd使用

[[email protected] ~]# passwd    #-------------à修改root自己的密码

Changing password for user root.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[[email protected] ~]# passwd
qinbf #-----------à修改普通账户qinbf的密码

Changing password for user qinbf.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[[email protected] ~]$ passwd test

passwd: Only root can specify a user name. #----------à只有root才能修改其他账户的密码

[[email protected] ~]$ sudo passwd test

[sudo] password for qinbf[q20] :

Changing password for user test.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.


[q1]T是Time的简写,D是Day的简写,方便记忆

[q2]日期一般用的参数小写,而时间的参数大写,方便记忆

[q3]修改系统时间需要root权限,使用sudo命令,输入的是普通用户qinbf的密码

[q4]当以root身份修改完系统时间之后,需要执行clock  –w,以便下次开机还能保持正确的设置

[q5]查找cd之所以没有结果,是因为cd命令是内置bash命令,不在PATH中,当然找不到了。

[q6]系统别名

[q7]Whereis 是查看文件的位置

[q8]Which是查看可执行文件的位置

[q9]locate是配合数据库查看文件位置;find实际搜索硬盘查询文件名称

[q10]快捷键Ctrl+C可以取消关机设置

[q11]立刻关机,now相当于时间为0

[q12]在20:25时刻关机,如果在21:00才执行这条命令,则隔天关机

[q13]立刻重启

[q14]系统发布通知,并在30分钟后重启

[q15]没有任何操作,取消了shutdown进程,说明并不是真正的关机

[q16]指定的uid

[q17]指定的注释

[q18]指定的家目录

[q19]Zhanghu同时也属于test组

[q20]使用root权限修改其他账户密码,首先要输入qinbf账户的密码,以便获取root权限

时间: 2024-08-25 05:48:05

Linux课程笔记 Day02 命令总结的相关文章

Linux课程笔记 Day03 命令总结

egrep [使用权限] 所有使用者 [语法] egrep [选项] [查找模式] [文件名1,文件名2,……] [功能说明] 以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名. [参数] 选项: - E 每个模式作为一个扩展的正则表达式对待. - F 每个模式作为一组固定字符串对待(以新行分隔),而不作为正则表达式. - b在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量. - c 只显示

Linux课程笔记 Day02 课后作业总结

1.描述 linux 系统从开机到登陆界面的启动过程 (1) 电源开机,BIOS自检 (2)MBR引导 (3)grub引导菜单 (4)加载内核 (5)启动init进程 (6)读取inittab文件,执行rc.sysinit,rc等脚本 (7)启动mingetty,进入登录系统界面 2. 描述 linux 运行级别 0-6 的各自含义 (1)0:关机 (2)1:单用户模式 (3)2:文本界面,无网络服务 (4)3:文本界面 (5)4:系统保留 (6)5:图形界面 (7)6:重启 3.常用快捷键总结

Linux课程笔记 Day02 课程内容总结

一 配置优化Centos5.XLinux系统 1.添加一个普通用户账号 生产环境,一般要避免直接使用root账户操作. 一次性设置密码小技巧:echo “qbf1932” | passwd –stdin  qinbf && history –c 2.  CentOS安装完毕,首先应该修改更新源,并升级到最新系统 国内速度较快的的常用更新源如下: —http://mirrors.sohu.com/ —http://mirrors.163.com/ 法一:将已经编辑好的CentOS-Base.

Linux课程笔记 Day06 命令总结

scp [使用权限] 所有使用者 [语法] scp [参数] [原路径] [目标路径] [功能说明] scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的scp命令可以在linux服务器之间复制文件和目录. [参数] -1  强制scp命令使用协议ssh1 -2  强制scp命令使用协议ssh2 -4  强制scp命令只使用IPv4寻址 -6  强制scp命令只使用IPv6寻址 -B  使用批处理模式(传输过程中不询问传输口令或

linux学习笔记-type命令

语法: type [-tpa] name 参数: type:    不加任何参数时,type会显示出name是外部命令还是内部bash内置命令 -t:      当加入-t参数时,type会将name以下面这些字眼显示出它的意义 file:表示为外部命令 alias:表示该命令为命令别名所设置的名称 builtin:表示该命令为bash内置的命令功能 -p:     如果后面接的name为外部命令时,才显示完整文件名 -a:     会有path变量定义的路径中,将所有含有name的命令都列出来

Linux课程笔记 Day07 课上内容总结 SSH和rsync

一. SSH 1.1    SSH介绍 SSH是Secure Shell Protocol的简称.在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输.确保了传递的数据安全.SSH是专为远程登录会话和其他网络问题提供安全性的协议. 在默认状态下,SSH协议提供两个服务功能:一个是提供类似telnet远程链接服务器的服务,即上面提到的SSH服务:另一个是类似FTP服务的stp-server,借助SSH协议来传输数据,提供更安全的FTP服务. 特别提醒:SSH客户端

Linux课程笔记 Day04 课上内容总结

1. Crond介绍 1.0 定时任务比较及cron语法 Linux的任务调度可以分为两类: 系统自身执行的任务 用户执行的工作 Linux系统下另外两种定时任务软件: at:适合仅执行一次的调度任务,需要启动一个名为atd的服务 anacron:这个命令主要用于非7*24小时开机的服务器,anacron并不能指定具体时间执行任务,而是以天为周期或者在系统每次开机后需要执行的任务,它会检测停机期间应该进行,但是并没有进行的crontab任务工作,执行一遍. 这两种比较少用 指令语法: Cront

Linux课程笔记 用户身份切换命令

超级用户root具有超级管理权限,由于权限太大,如果管理不好,就会对系统安全带来安全隐患.在工作场景中,一般临时性处理工作,都是以普通用户的身份完成,只在必要时才使用超级用户root. 1  su命令 1.1  su介绍 通过su命令可以在用户之间切换,超级用户root向普通用户或虚拟用户切换不需要密码(这就是超极权限所在).其他普通用户之间或者普通用户切换到root,都需要切换用户的秘密验证. su参数选项 注释说明 -,-l,--login 使一个shell成为登陆的shell,如执行su

Linux自学笔记--基础命令date,cal等

逆水行舟,不进则退: date命令: 我们可以来man一下date命令,可以在上面看出 date的含义为 - print or set the system date and time,我们从以下几方面对date命令进行阐述. 1.   显示时间 date[OPTION]... [+FORMAT] format:格式符号 %D: %F: %T: 在屏幕中输入单独的date命令可以显示系统的时间: 同时我们也可以显示自己想要的时间显示格式: 2.   设置时间 date[-u|--utc|--un