Linux常用指令

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

你可能感兴趣的:(Linux常用指令)