1、Man命令
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
语法:man [命令或配置文件]
功能描述:获得帮助信息
常用功能键
[Page Down] 向下翻一页
[Page Up] 向上翻一页
向后翻一屏:space(空格键)
向前翻一屏:b
向后翻一行:Enter(回车键)
向前翻一行:k
/string 向『下』搜寻 string 这个字符串
?string 向『上』搜寻 string 这个字符串
n, N 利用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。
q 结束这次的man page
Man命令练习
范例一:查看ls命令的帮助信息
man ls
范例二:查看配置文件services的帮助信息
manservices
2、Help命令
命令名称:help
命令所在路径:Shell内置命令
语法:command --help
功能描述:获得Shell内置命令的帮助信息
范例:查看date命令的帮助信息
date --help
cal --help
3、正确关机重启
1.查看在线用户和在线服务
2.通知用户关机/重启原因和时间安排
3.下达关机或重启命令,必须是root用户:
su -root
shutdow -h 10
shutdown -h 21:00
shutdown now
shutdown +5 "good by"
-c 取消已经在进行的shutdown指令内容
-h 关机
-r 重启
shutdown -r 时间字符串
其他命令
reboot ==shutdown -r now
halt== shutdown -h now
poweroff=halt+切断电源指令
3.1.1绝对路径和相对路径
[if !supportLists]l [endif]绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如/home/dmtsai/.bashrc;
[if !supportLists]l [endif]相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或../../home/dmtsai/等等
. :代表当前的目录,也可以使用 ./ 来表示;
.. :代表上一层目录,也可以 ../ 来代表。
(1) Ls命令
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
功能描述:显示目录描述
命令格式:ls [options][文件或目录]
选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
-l :显示详细信息;
-d :仅列出目录本身,而不是列出目录内的文件数据
-F :根据文件、目录等信息,给予附加数据结构,例如: *:代表可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;“@”表示符号链接,软链接
-h :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来,默认情况下显示是文件的字节大小;
-R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
-S :以文件容量大小排序,而不是用文件名排序;
-t :依时间排序,而不是用文件名。
--color=never :不要依据文件特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设置来判断是否给予颜色
--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
-rw-r--r--
-文件
d目录
l-软链接文件
rw-r--r--
u(所有者) g(所属组) o(其他人)
r(读 )w (写) x (执行)
Ls命令练习
范例1:显示/usr下文件的详细信息
ls -l /usr
范例2:显示/usr的目录信息
ls -ld /usr
范例3:显示所有文件(含隐藏文件)详细信息,不显示颜色,但在文件名末显示出该文件名代表的类型。
ls-alF --color=never
范例4:完整的呈现文件的修改时间
ls -al--full-time
3.1.2目录的相关操作
(1) cd命令
命令名称:cd
英文原意:change directiory
所在路径:shell内置命令
语法格式:cd[目录]
几个特殊目录
. 此层目录
.. 上一层目录
- 前一个工作目录
~ 『目前用户身份』所在的家目录
Cd命令练习
1) 到mzxy这个用户的家目录,亦即/home/mzxy
# cd ~mzxy
2)回到自己的家目录,亦即是 /root 这个目录
# cd ~
3)回到自己家目录
# cd
4)# 到目前的上层目录
# cd ..
5)回到刚刚的那个目录
# cd –
6)切换到/var/spool/mail目录
# cd /var/spool/mail
3)切换到/var/spoo/cron目录
# cd ../cron
(2) pwd命令
命令名称:pwd
英文原意:print working directory
所在路径:/bin/pwd
功能描述:显示当前目录
# pwd [-P]
选项与参数:
-P :显示出确实的路径,而非使用链接 (link) 路径。
pwd命令练习
范例2:切换至/var/mail目录,并显示出实际的工作目录,而非链接文件本身的目录名
cd /var/mail
注意,/var/mail是一个链接文件
pwd
pwd -P
/var/spool/mail
ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep 4 13:54/var/mail -> spool/mail
(3) mkdir命令
命令名称:mkdir
英文原意:make directory
所在目录:/bin/mkdir
命令格式:mkdir [-mp] 目录名称
选项与参数:
-m :配置文件的权限,直接设定,不需要看预设权限 (umask) 的脸色~
-p :递归创建目录
mkdir命令练习
范例1:请到/tmp下面尝试建立数个新目录:
cd /tmp
mkdir test
mkdir test1/test2/test3/test4
mkdir -p test1/test2/test3/test4
ls test1 -R
(4) rmdir命令
命令名称:rmdir
英文原意:remove empty directory
所在目录:/bin/rmdir
命令格式:rmdir [-p] 目录名称
选项与参数:
-p :连同上层『空的』目录也一起删除
rmdir命令练习
范例:将mkdir范例中建立的目录(/tmp下面)删除掉!
ls -l
rmdir test
rmdir test1 <==因为尚有内容,所以无法删除!
rmdir -p test1/test2/test3/test4
ls -l
# 利用 -p 这个选项,立刻就可以将test1/test2/test3/test4 一次删除
# 不过要注意的是,这个 rmdir 仅能『删除空的目录』!
(5) 复制命令cp
英文原意:copy
功能描述:复制文件或目录
所在路径:/bin/cp
命令格式:
cp[-options] source1[source2 source3 .... ] destination
选项与参数:
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)
Cp命令练习
范例一:用root身份,将家目录下的.bashrc 复制到 /tmp 下,并更名为bashrc
cp ~/.bashrc /tmp/bashrc
cp -i ~/.bashrc /tmp/bashrc
ls –al~/.bash* /tmp/bashrc
cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为覆盖
范例二:变换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性
cd /tmp
cp /var/log/wtmp .
ls -l /var/log/wtmp wtmp
# 在不加任何选项的情况下,文件的某些属性/权限会改变;还有,连文件建立的时间也不一样了!那如果你想要将文件的所有特性都一起复制过来,可以加上-a
cp -a /var/log/wtmp wtmp_2
ls -l /var/log/wtmp wtmp_2
范例三:复制 /etc/ 这个目录下的所有内容到/tmp
cp /etc/ /tmp
cp: omitting directory `/etc' <== 如果是目录则不能直接复制,要加上 -r 的选项
cp -r /etc/ /tmp
ls /etc tmp/etc -ld
# -r 是可以复制目录,但是,文件与目录的权限可能会被改变 ,所以,也可以利用『 cp -a /etc /tmp 』来下达指令,尤其是在备份的情况下!
范例四:将家目录的 .bashrc 及 .bash_history复制到 /tmp 下面
cp~/.bashrc ~/.bash_history /tmp或者
cp ~/{.bashrc,.bash_history} /tmp
ls /tmp/.bash*
# 可以将多个数据一次复制到同一个目录去!最后面一定是目录!多个文件之间{file1,file2,file3,file4},且文件名之间没有空格
范例五:将范例一复制的 bashrc 建立一个连结文件
ls -l bashrc
cp -s bashrc bashrc_slink #创建软链接
cp -l bashrc bashrc_hlink #创建硬链接
ls -li bashrc*
范例六:若 ~/.bashrc 比 /tmp/bashrc 新才复制过来
cp -u ~/.bashrc /tmp/bashrc
# 这个 -u 的特性,是在目标文件与来源文件有差异时,才会复制的。所以,比较常被用于『备份』
范例七:将范例四生成的 bashrc_slink 复制成为bashrc_slink_1 与bashrc_slink_2
cp bashrc_slink bashrc_slink_1
cp-dbashrc_slink bashrc_slink_2
ls -l bashrc bashrc_slink*
# 原本复制的是连结文件,但是却将连结文件的实际文件复制过来了,也就是说,如果没有加上任何选项时,cp复制的是源文件,而非链接文件的属性! 若要复制链接文件的属性,就得要使用 -d 的选项了
(6) 删除文件或目录命令rm
目录名称:rm
英文原意:remove
所在路径:/bin/remove
语法格式:rm [-fir] 文件或目录
选项与参数:
-f :force ,强制执行;
-i :在删除前会询问使用者是否操作
-r :递归删除,常用于目录的删除,这是非常危险的选项!
Rm命令练习
范例一:将刚刚在 cp 的范例中建立的 bashrc 删除掉!
cd/tmp
rm -ibashrc
# -i 的选项就会主动询问,避免你删除到错误的文件名!
范例二:将/tmp下面开头为bashrc的文件名通通删除:
rm -i bashrc*
范例三:将 cp 范例中所建立的/tmp/etc/ 这个目录删除掉
rmdir /tmp/etc
rmdir: etc: Directory not empty <== 删不掉啊!因为这不是空的目录!
rm-r/tmp/etc
rm: descend into directory `/tmp/etc'? y ....(中间省略)....
# 因为身份是 root ,预设已经加入了 -i 的选项,所以你要一直按 y 才会删除!如果不想要继续按 y ,可以按下『 [ctrl]-c 』来结束 rm 的工作。 这是一种保护的操作,如果确定要删除掉此目录而不要询问,可以这样做:
rm -fr /tmp/etc
范例四:删除一个带有 - 开头的文件
touch ./-aaa-
ls -l ./-aaa-
rm -aaa-
Try `rm --help' for more information. <== 因为 "-" 是选项嘛!所以系统误判了!
rm ./-aaa-
(7) 移动文件或目录命令mv
命令名称:mv
英文原意:move
所在路径:/bin/move
功能描述:剪切文件或改名
语法格式:
mv [options] source1 source2 source3 ....directory
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
Mv命令练习
范例一:复制一文件,建立一目录,将文件移动到目录中
cd /tmp
cp ~/.bashrc bashrc
mkdir mvtest
mv bashrc mvtest
范例二:将刚刚的目录名称更名为mvtest2
mv mvtest mvtest2
ls -ld mvtest*
范例三:再建立两个文件,再全部移动到 /tmp/mvtest2 当中
cp ~/.bashrc bashrc1
cp ~/.bashrc bashrc2
mv bashrc1 bashrc2 mvtest2 或者mv {bashrc1,bashrc2} mvtest2