登录Linux后,我们可以看到如下内容:[root@localhost ~ ]#
这就是Linux系统的命令提示符。其中:
[root@localhost ~ ]# 命令 [选项] [参数]
例如:[root@localhost ~ ]# ls -ls /etc
- 命令格式中的[]代表可选项,也就是有些命令可以不写选项或参数,也可以执行;
- 命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,一般文件、>目录、用户和进程等可以作为参数被命令操作;
注意:
命令编辑的几个辅助操作:
(1)man命令:可以查看命令或配置的帮助信息;
[root@redhat tmp]# man ls
[root@redhat tmp]# man yum.conf
#注:使用man查看配置文件的帮助信息时,不需使用绝对路径,只需要写配置文件名即可
(2)help命令:显示Shell内置命令的帮助信息;
[root@redhat tmp]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[root@redhat tmp]# help cd
cd: cd [-L|-P] [dir]
Change the shell working directory.
......
#注:使用which命令或者whereis命令查找不到的命令为内部命令
(3)whatis命令:简单查看命令的帮助信息;
[root@redhat tmp]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents
(4)apropos命令:简单查看配置文件的帮助信息;
[root@redhat tmp]# apropos yum.conf
yum.conf [yum] (5) - Configuration file for yum(8)
ls是最常见的目录操作命令,主要是显示目录下的内容。命令的基本信息如下:
在Linux中以 “ . ” 开头的文件是隐藏文件,只有通过 “ -a ”选项才能查看。隐藏文件不是为了把文件藏起来不让用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非特殊需求,尽量不要修改文件的内容;
[root@redhat ~]# ls
anaconda-ks.cfg install.log.syslog z 模板 图片 下载 桌面
install.log j 公共的 视频 文档 音乐
[root@redhat ~]# ls -a
. .esd_auth install.log .viminfo
.. .gconf install.log.syslog z
.abrt .gconfd j 公共的
anaconda-ks.cfg .gnome2 .local 模板
[root@redhat ~]#
注:在权限面前:— 表示文件;d 表示目录;l 表示软连接;
关于以上的说明:
[root@root ~]# ls -l
总用量 100
-rw-------. 1 root root 1498 6月 22 19:26 anaconda-ks.cfg
-rw-r--r--. 1 root root 47922 6月 22 19:26 install.log
-rw-r--r--. 1 root root 10033 6月 22 19:23 install.log.syslog
drwxr-xr-x. 2 root root 4096 6月 22 19:30 公共的
drwxr-xr-x. 2 root root 4096 6月 22 19:30 模板
drwxr-xr-x. 2 root root 4096 6月 22 19:30 视频
drwxr-xr-x. 2 root root 4096 6月 22 19:30 图片
drwxr-xr-x. 2 root root 4096 6月 22 19:30 文档
drwxr-xr-x. 2 root root 4096 6月 22 19:30 下载
drwxr-xr-x. 2 root root 4096 6月 22 19:30 音乐
drwxr-xr-x. 3 root root 4096 6月 22 19:43 桌面
[root@root ~]# ls -ld
dr-xr-x---. 28 root root 4096 6月 30 21:14 .
[root@root ~]# ls -lh
总用量 100K
-rw-------. 1 root root 1.5K 6月 22 19:26 anaconda-ks.cfg
-rw-r--r--. 1 root root 47K 6月 22 19:26 install.log
-rw-r--r--. 1 root root 9.8K 6月 22 19:23 install.log.syslog
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 公共的
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 模板
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 视频
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 图片
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 文档
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 下载
drwxr-xr-x. 2 root root 4.0K 6月 22 19:30 音乐
drwxr-xr-x. 3 root root 4.0K 6月 22 19:43 桌面
[root@root ~]# ls -i
272222 anaconda-ks.cfg 272242 公共的 272245 图片 272244 音乐
261123 install.log 272241 模板 272243 文档 272239 桌面
261124 install.log.syslog 272246 视频 272240 下载
mkdir命令主要功能是创建目录,基本信息如下:
[root@root ~]# ls /tmp
_cafenv-appconfig_ pulse-h68wANV588jC VMwareDnD
dir1 pulse-HYwFHd4subTQ vmware-root
keyring-CfdIfM virtual-root.4CXsBj vmware-root_1498-2966037825
keyring-hlsUKj virtual-root.INHC9Z vmware-root_1589-2083797903
keyring-lfvBms virtual-root.pFxtSf vmware-root_1594-834905688
orbit-gdm virtual-root.pjI95j vmware-root_18917-1848395183
orbit-root vmware-config-8182.0 yum.log
[root@root ~]# mkdir /tmp/dirs/dirs1
mkdir: 无法创建目录"/tmp/dirs/dirs1": 没有那个文件或目录
[root@root ~]# mkdir -p /tmp/dirs/dirs1
[root@root ~]# ls /tmp
_cafenv-appconfig_ pulse-h68wANV588jC vmware-root
dir1 pulse-HYwFHd4subTQ vmware-root_1498-2966037825
dirs virtual-root.4CXsBj vmware-root_1589-2083797903
keyring-CfdIfM virtual-root.INHC9Z vmware-root_1594-834905688
keyring-hlsUKj virtual-root.pFxtSf vmware-root_18917-1848395183
keyring-lfvBms virtual-root.pjI95j yum.log
orbit-gdm vmware-config-8182.0
orbit-root VMwareDnD
[root@root ~]# ls /tmp/dirs
dirs1
[root@root ~]# mkdir /tmp/dirs/yuwen /tmp/dirs/shuxue /tmp/dirs/yingyu
[root@root ~]# ls /tmp/dirs
dirs1 shuxue yingyu yuwen
cd命令的主要功能是切换所在目录,命令的基本信息如下:
注:绝对路径代表从根目录开始,相对路径代表以当前目录为起点
[root@root ~]# cd /tmp/dirs/yuwen
[root@root yuwen]# cd /etc
[root@root etc]# cd /tmp/dirs/shuxue
[root@root shuxue]#
[root@root shuxue]# cd
[root@root ~]# cd -
/tmp/dirs/shuxue
[root@root shuxue]# cd..
bash: cd..: command not found
[root@root shuxue]# cd ..
[root@root dirs]# cd .
[root@root dirs]# cd ../..
[root@root /]#
pwd命令的主要功能是显示 目录,命令的基本信息如下:
以绝对路径的形式呈现工作目录:
[root@root 桌面]# cd /etc
[root@root etc]# pwd
/etc
[root@root etc]# pwd
/etc
[root@root etc]# cd /etc/abrt
[root@root abrt]# pwd
/etc/abrt
rmdir命令主要功能是删除目录,基本信息如下:
删除一个空目录:rmdir 目录名
[root@root abrt]# ls /tmp/dirs
dirs1 shuxue yingyu yuwen
[root@root abrt]# rmdir /tmp/dirs/yuwen
[root@root abrt]# ls /tmp/dirs
dirs1 shuxue yingyu
注:rmdir命令只能删除空目录,如果目录中有内容,就会报错;所以,不论删除的是文件还是目录,经常使用rm命令。
cp命令的功能是用于复制,基本信息如下:
[root@root ~]# ls /tmp
_cafenv-appconfig_ pulse-h68wANV588jC vmware-root
dir1 pulse-HYwFHd4subTQ vmware-root_1498-2966037825
dirs virtual-root.4CXsBj vmware-root_1579-2084322198
......
[root@root ~]# cp /etc/grub.conf /tmp
[root@root ~]# ls /tmp
_cafenv-appconfig_ orbit-root VMwareDnD
dir1 pulse-h68wANV588jC vmware-root
dirs pulse-HYwFHd4subTQ vmware-root_1498-2966037825
grub.conf virtual-root.4CXsBj vmware-root_1579-2084322198
......
[root@root ~]# cp /etc/grub.conf /tmp
cp:是否覆盖"/tmp/grub.conf"? yes
[root@root ~]# ls /tmp
_cafenv-appconfig_ orbit-root VMwareDnD
dir1 pulse-h68wANV588jC vmware-root
dirs pulse-HYwFHd4subTQ vmware-root_1498-2966037825
grub.conf virtual-root.4CXsBj vmware-root_1579-2084322198
......
[root@root ~]# cp /etc/csh.cshrc /etc/auto.net /tmp/dir1
cp:是否覆盖"/tmp/dir1/csh.cshrc"? y
[root@root ~]# ls /tmp/dir1
auto.net csh.cshrc
[root@root ~]# cp /etc/yum /tmp
cp: 略过目录"/etc/yum"
[root@root ~]# cp -r /etc/yum /tmp
[root@root ~]# ls /tmp
_cafenv-appconfig_ pulse-h68wANV588jC vmware-root_1498-2966037825
dir1 pulse-HYwFHd4subTQ vmware-root_1579-2084322198
dirs virtual-root.4CXsBj vmware-root_1589-2083797903
grub.conf virtual-root.cyXob3 vmware-root_1591-2092251661
keyring-CfdIfM virtual-root.INHC9Z vmware-root_1594-834905688
keyring-hlsUKj virtual-root.pFxtSf vmware-root_18917-1848395183
keyring-lfvBms virtual-root.pjI95j yum
keyring-NPtwuF vmware-config-8182.0 yum.log
orbit-gdm VMwareDnD
orbit-root vmware-root
[root@root ~]# ls -lh /etc/csh.login
-rw-r--r--. 1 root root 794 8月 20 2013 /etc/csh.login
[root@root ~]# cp /etc/csh.login /tmp
[root@root ~]# ls -lh /tmp/csh.login /tmp
-rw-r--r--. 1 root root 794 7月 1 20:50 /tmp/csh.login
[root@root ~]# cp -p /etc/csh.login /tmp
cp:是否覆盖"/tmp/csh.login"? y
[root@root ~]# ls -lh /tmp/csh.login
-rw-r--r--. 1 root root 794 8月 20 2013 /tmp/csh.login
mv命令的功能是用来剪贴和更名的,基本信息如下:
[root@root ~]# mv /tmp/csh.login /root
[root@root ~]# mv /tmp/dir1 /root
[root@root ~]# ls /root
anaconda-ks.cfg dir1 install.log.syslog 模板 图片 下载 桌面
csh.login install.log 公共的 视频 文档 音乐
[root@root ~]# mv /root/dir1 /root/mv_dir
[root@root ~]# ls /root
anaconda-ks.cfg install.log mv_dir 模板 图片 下载 桌面
csh.login install.log.syslog 公共的 视频 文档 音乐
[root@root tmp]# mv -v grub.conf /root/
"grub.conf" -> "/root/grub.conf"
rm命令不仅可以删除文件,也可以删除目录。命令的基本信息如下:
[root@root tmp]# rm yum.log
rm:是否删除普通空文件 "yum.log"?y
[root@root tmp]# ls
auto.net keyring-NPtwuF vmware-config-8182.0
auto.net~ orbit-gdm VMwareDnD
dirs pulse-h68wANV588jC vmware-root_1498-2966037825
grub.conf pulse-HYwFHd4subTQ vmware-root_1579-2084322198
grub.conf~ virtual-root.4CXsBj vmware-root_1589-2083797903
[root@root tmp]# rm auto.net grub.conf
rm:是否删除普通文件 "auto.net"?n
rm:是否删除普通文件 "grub.conf"?n
[root@root tmp]# rm -f auto.net grub.conf
[root@root tmp]# ls
auto.net~ orbit-root vmware-root
dirs pulse-HYwFHd4subTQ vmware-root_1579-2084322198
grub.conf~ virtual-root.4CXsBj vmware-root_1589-2083797903
[root@root tmp]# rm -r etc
rm:是否进入目录"etc"? y
rm:是否进入目录"etc/iproute2"? y
rm:是否删除普通文件 "etc/iproute2/rt_dsfield"?^C
[root@root tmp]#
[root@root tmp]# rm -rf etc
[root@root tmp]# ls
auto.net~ orbit-root vmware-root
_cafenv-appconfig_ pulse-h68wANV588jC vmware-root_1498-2966037825
dirs pulse-HYwFHd4subTQ vmware-root_1579-2084322198
grub.conf~ virtual-root.4CXsBj vmware-root_1589-2083797903
grub_copy.conf virtual-root.cyXob3 vmware-root_1591-2092251661
keyring-CfdIfM virtual-root.INHC9Z vmware-root_1594-834905688
keyring-hlsUKj virtual-root.pFxtSf vmware-root_18917-1848395183
keyring-lfvBms virtual-root.pjI95j yum
keyring-NPtwuF vmware-config-8182.0
orbit-gdm VMwareDnD
touch命令的作用是创建空文件或修改文件的时间戳,命令的基本信息如下:
如果文件不存在,则会建立空文件;如果文件已经存在,则会修改文件的时间戳(“ 访问时间,数据修改时间,状态修改时间 ” 都会改变)
[root@root 桌面]# touch test
[root@root 桌面]# ls -l test
-rw-r--r--. 1 root root 0 7月 1 22:28 test
[root@root 桌面]# touch test
[root@root 桌面]# ls -l test
-rw-r--r--. 1 root root 0 7月 1 22:31 test
cat命令可以显示文件的内容,也可以给内容加上行号(-n),不管文件内容多少,都会一次的显示,当文件内容比较长时,就不适合用cat命令显示,因为cat命令显示最后一屏的内容,不能看到前面的内容;
[root@root tmp]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel \r on an \m
[root@root tmp]# cat -n /etc/issue
1 Red Hat Enterprise Linux Server release 6.5 (Santiago)
2 Kernel \r on an \m
3
当文件过大时,cat命令就不适合适用,就可以使用more命令分屏显示文件内容;基本信息如下:
more命令可以分屏显示文件内容,进入more命令的浏览器以后,可以使用空格(或f键)进行翻页,使用enter进行换行,q退出浏览;但是使用more命令浏览文件内容时,浏览器的内容不能再次查看,只能向下翻页,不能向上翻页;
[root@root tmp]# more /etc/services
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
.......
# http://www.iana.org/assignments/port-numbers
--More--(0%)
当文件过大时,使用less命令分屏显示文件内容,可向上向下翻页。基本信息如下:
less命令可以分屏显示文件内容,进入less命令的浏览器状态以后,可以使用空格(或f)进行翻页,上箭头向上查看,使用enter进项换行,q退出浏览器,除此之外,还可以进行搜索,格式:/搜索内容,搜索的内容就会被标记出来,可以按n进行下一次查找;
[root@root tmp]# less /etc/services
# unfortunately the poppassd (Eudora) uses a port which has already
# been assigned to a different service. We list the poppassd as an
# alias here. This should work for programs asking for this service.
# (due to a bug in inetd the 3com-tsmux line is disabled)
......
:
head是用来显示文件的命令,基恩信息如下:
[root@root 桌面]# cd /tmp
[root@root tmp]# head /etc/services
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2009-11-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
[root@root tmp]# head -n 4 /etc/services
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
[root@root tmp]# head -v -n 4 /etc/services
==> /etc/services <==
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
tail 命令的基本信息如下:
[root@root tmp]# tail -n 4 /etc/services
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
[root@root tmp]# tail -v -n 4 /etc/services
==> /etc/services <==
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
ln命令的基本信息如下:
[root@root 桌面]# ln -s /etc/issue /tmp/issue_soft
[root@root 桌面]# ls -l /etc/issue
-rw-r--r--. 1 root root 75 10月 30 2013 /etc/issue
[root@root 桌面]# ls -l /tmp/issue_soft
lrwxrwxrwx. 1 root root 10 7月 2 10:28 /tmp/issue_soft -> /etc/issue
[root@redhat 桌面]# ln /etc/issue /tmp/issue_hard
[root@redhat 桌面]# ls -l /etc/issue
-rw-r--r--. 2 root root 75 10月 30 2013 /etc/issue
[root@redhat 桌面]# ls -l /tmp/issue_hard
-rw-r--r--. 2 root root 75 10月 30 2013 /tmp/issue_hard
[root@redhat 桌面]# ls -i /etc/issue /tmp/issue_hard /tmp/issue_soft
54395563 /etc/issue 54395563 /tmp/issue_hard 38273166 /tmp/issue_soft
[root@redhat 桌面]# ln /etc/issue /boot/issue_hard
ln: 创建硬链接"/boot/issue_hard" => "/etc/issue": 无效的跨设备连接
[root@redhat 桌面]# ln -s /etc/issue /boot/issue_soft
[root@redhat 桌面]# ls -l /boot/issue_soft
lrwxrwxrwx. 1 root root 10 3月 24 02:07 /boot/issue_soft -> /etc/issue
[root@redhat 桌面]# ln /etc /tmp/issue_hard
ln: "/etc": 不允许将硬链接指向目录
[root@redhat 桌面]# ln -s /etc /tmp/etc_soft
[root@redhat 桌面]# ls -l /tmp/etc_soft
lrwxrwxrwx. 1 root root 4 3月 24 02:10 /tmp/etc_soft -> /etc