基本命令Linux操作系统与实训CentOS7.4RHEL7.4
Linux操作系统与实训 CentOS 7.4 & RHEL 7.4 基本命令
⼀、⽂件⽬录命令类
1、浏览⽬录类命令
(1) pwd命令
pwd命令⽤于显⽰⽤户当前所处的⽬录,如果⽤户不知道⾃⼰当前所处的⽬录,就必须使⽤它。
例如:
[root@server1 etc] #pwd ⽤于显⽰⽤户当前所处的⽬录。
php学校网站源码下载/etc
(2) cd命令
cd命令⽤来在不同的⽬录中进⾏切换。
⽤户在登录系统时会处于⽤户的家⽬($HOME)中,该⽬录⼀般以/home开始,后跟⽤户名,这个⽬录就是⽤户的初始登录⽬录(root⽤户的家⽬录为/root)。如果⽤户想切换到其他的⽬录中,就可以使⽤cd命令,后跟想要切换的⽬录名。例如:
[root@server1 etc]#cd  //改变⽬录位置⾄⽤户登录时的⼯作⽬录
[root@server1 ~ ]#cd dir1  //改变⽬录位置⾄当前⽬录下的dirl⼦⽬录
[root@serverl dir1]#cd ~  //改变⽬录位置⾄⽤户登录时的⼯作⽬录(⽤户的家⽬录)
[rooteserverl ~ ]#cd . .  //改变⽬录位置⾄当前⽬录的⽗⽬录中
[root@server1 /]#cd  //改变⽬录位置⾄⽤户登录时的⼯作⽬录
[root@serverl ~]#cd . . /etc //改变⽬录位置⾄当前⽬录的⽗⽬录下的etc ⼦⽬录
[rooteserver1 etc]#cd /dir1/subdir1 //利⽤绝对路径表⽰改变⽬录到/dir1/subdir1⽬录下
servererror什么原因
在Linux系统中,⽤“ . ”代表当前⽬录:⽤“ . . ”代表当前⽬录的⽗⽬录:⽤“ ~ ”代表⽤户的个⼈家⽬录(主⽬录)。
例如,root⽤户的个⼈主⽬录是/root,则不带任何参数的cd命令相当于“cd~”,即将⽬录切换到⽤户的家⽬录。
(3) 使⽤ls命令
Ls命令⽤来列出⽂件或⽬录信息。该命令的语法为:
Ls [参数] [⽬录或⽂件]
Is命令的常⽤参数选项如下。
-a:显⽰所有⽂件,包括以“ . ”开头的隐藏⽂件。
-A:显⽰指定⽬录下所有的⼦⽬录及⽂件,包括隐藏⽂件,但不显⽰“ . ”和“ . . ”
-c:按⽂件的修改时间排序。
-C:分成多列显⽰各⾏。
-d:如果参数是⽬录,则只显⽰其名称⽽不显⽰其下的各个⽂件。往往与“1”选项⼀起使⽤,以得到⽬录的详细信息。
-l:以长格形式显⽰⽂件的详细信息。
-i:在输出的第⼀列显⽰⽂件的i节点号。
例如:
[root@server1 ~ ]#ls  //列出当前⽬录下的⽂件及⽬录
[root@server1 ~ ]#ls -a //列出包括以“,”开始的隐藏⽂件在内的所有⽂件
[root@serverl ~]#ls -t  //依照⽂件最后修改时间的顺序列出⽂件
[root@serverl ~ ]#ls -F /*列出当前⽬录下的⽂件名及其类型。以 / 结尾表⽰为⽬录名,以 * 结尾表⽰为可执⾏⽂件,以@结尾表⽰为符号连接* /
[root@serverl ~]#ls -l  //列出当前⽬录下所有⽂件的权限、所有者、⽂件⼤⼩、修改时间及名称
[rooteserver1 ~]#ls -lg  //显⽰出⽂件所有者的⼯作组名
[root@serverl ~]#ls -R  //显⽰⽬录下以及其所有⼦⽬录的⽂件名
2、浏览⽂件类命令
(1) cat命令
cat命令主要⽤于滚屏显⽰⽂件内容或是将多个⽂件合并成⼀个⽂件。
该命令的语法为:
cat [参数]⽂件名
cat命令的常⽤参数选项如下。
-b:对输出内容中的⾮空⾏标注⾏号。
-n:对输出内容中的所有⾏标注⾏号。
通常使⽤cat命令查看⽂件内容。但是cat命令的输出内容不能够分页显⽰,要查看超过⼀屏的⽂件内容,需要使⽤more或less 等其他命令。如果在cat命令中没有指定参数,则cat会从标准输⼈(键盘)中获取内容。
例如,要查看/soft/filel⽂件内容的命令为:
[root@serverl ~ ]#cat /soft/file1
利⽤cat命令还可以合并多个⽂件。
例如,把filel和file2⽂件的内容合并为file3,且file2⽂件的内容在filel ⽂件的内容前⾯
则命令为:
[rooteserver1 ~]#cat file2 file1>file3
//如果file3⽂件存在,此命令的执⾏结果会覆盖file3⽂件中原有内容
[rooteserver1 ~]#cat file2 file1>>fILe
//如果file3⽂件存在,此命令的执⾏结果将把file2和file1⽂件的内容附加到file3⽂件中原有内容的后⾯
(2) more命令
在使⽤cat命令时如果⽂件太长,⽤户只能看到⽂件的最后部分,这时可以使⽤ more命令⼀页⼀页的分屏显⽰⽂件的内容。
More命令通常⽤于分屏显⽰⽂件内容。⼤部分情况下,可以不加任何参数选项来执⾏more命令查看⽂件内容。
执⾏more命令后进⼊more状态,按Enter键可以向下移动⼀⾏;按Space键可以向下移动⼀页;按q键可以退出more命令。
该命令的语法为:
more [参数] ⽂件名
more命令的常⽤参数选项如下。
-num:这⾥的num是⼀个数字,⽤来指定分页显⽰时每页的⾏数。
+ num:指定从⽂件的第num⾏开始显⽰。
例如:
[root@serverl ~ ]#more file1 //以分页⽅式查看filel⽂件的内容
[root@serverl ~ ]#cat file1 | more //以分页⽅式查看filel ⽂件的内容
more命令经常在管道中被调⽤以实现各种命令输出内容的分屏显⽰。上⾯的第⼀个命令就是利⽤Shell的管道功能分屏显⽰file1⽂件的内容.
(3) less命令
less命令是more命令的改进版,⽐more命令的功能强⼤。more命令只能向下翻页,⽽less命令可以向下、向上翻页,甚⾄可以前、后左、右移动。
执⾏less命令后,进⼊less状态,
按 Enter键可以向下移动⼀⾏;按 Space键可以向下移动⼀页;
按b键可以向上移动⼀页,也可以⽤光标键向前、后、左、右移动;
按q键可以退出less命令
less命令还⽀持在⼀个⽂本⽂件中进⾏快速查。先按下斜杠键/,再输⼊要查的单词或字符。
less命令会在⽂本⽂件中进⾏快速查,并把到的第⼀个搜索⽬标⾼亮显⽰。如果希望继续查,就再次按下斜杠键/,再按 Enter键即可
less命令的⽤法与more基本相同,下⾯举例说明。本例的前提条件是已经安装了 httpd, httpdh服务,否则需要先安装httpd服务。安装httpd服务的步骤如下:如果能够连接互联⽹,并且有较⾼⽹速,可以
直接使⽤系统⾃带的yum源⽂件,不需要单独编辑yum源⽂件。这时请直接跳到步骤(3),⽽忽略前两步。
提⽰后⾯在使⽤yum安装软件时也依据此原则,不再赘述。
(1)挂载ISO安装镜像。
[root@server1 ~]#mkdir /iso
[root8server1~] #mount /dev/cdrom /iso
(2)制作⽤于安装的yum源⽂件(后⾯的所有项⽬的yum源不再赘述)
如何运行shell脚本
先删除/pos.d/⽬录下的所有⽂件,编辑⽣成/etc/yum. repos.po⽂件。
[root@server1~]#cd /ete/yum. repos.d/
[root@server1 yum. repos. d] #rm * . *
[root@server1 yum. repos.d] #vim /etc/yum. repos. d/dvd. repo
源⽂件的内容如下。
#/etc/yum. repos.po
# or for ONLY the media repo, do this:
yum--disablerepo=\*--enablerepo=c6-media [command]
[dvd]
name=dvd
baseurl=file: ///iso
gpgcheck=0
enabled=1
(3)使⽤yum命令安装  httpd软件包。
[root@server1 yum. repos. d]#cd
[rooteserver1~]#yum clean all /安装前先清除缓存
[rooteserver1~]# yum install httpd-y
(4)使⽤less命令
//以分页⽅式查看 httpd. conf⽂件的内容
[root@serve1~]#less/etc/httpd/f
(4) head命令
head命令⽤于显⽰⽂件的开头部分,默认情况下只显⽰⽂件的前10⾏内容。
该命令的语法为:
head [参数] ⽂件名
head命令的常⽤参数选项如下。
-n num:显⽰指定⽂件的前num⾏。
-c num:显⽰指定⽂件的前num个字符。
例如:
[root@server1 ~ ] #head -n 20/etc/httpd/conf/httpd. conf//显⽰f⽂件的前20⾏
(5) tail命令
tail命令⽤于显⽰⽂件的末尾部分,默认情况下只显⽰⽂件的末尾10⾏内容。
该命令的语法为:
tail [参数] ⽂件名
tail命令的常⽤参数选项如下。
-n num:显⽰指定⽂件的末尾num⾏。
-c num:显⽰指定⽂件的末尾num个字符。
+num:从第num⾏开始显⽰指定⽂件的内容。
例如:
[root@serverl~]#tail-n 20 /etc/httpd/ conf/ httpd. conf // 显⽰f⽂件的末尾20⾏
tail命令最强⼤的功能是可以持续刷新⼀个⽂件的内容,当想要实时查看最新⽇志⽂件时,该功能特别有⽤,此时的命令格式为“tail-f⽂件名”。
3、⽬录操作类命令
(1) mkdir命令
mkdir命令⽤于创建⼀个⽬录。该命令的语法为:
mkdir [参数] ⽬录名
上述⽬录名可以为相对路径,也可以为绝对路径。录的⽗⽬录。
mkdir命令的-p参数表⽰在创建⽬录时,果⽗⽬录不存在,则同时创建该⽬录及该⽬
例如:
[root@serverl ~]#mkdir dir1 //在当前⽬录下创建dir1⼦⽬录
[root@serverl ~]#mkdir -p dir2/subdir2
//在当前⽬录的dir2⽬录中 subdir2创建2⼦⽬录。如果dir2⽬录不存在,则同时创建
(2) rmdir命令
rmdir命令⽤于删除空⽬录。该命令的语法为:
rmdir [参数] ⽬录名
上述⽬录名可以为相对路径,也可以为绝对路径。但所删除的⽬录必须为空⽬录。
rmdir命令的-p参数表⽰在删除⽬录时⼀起删除⽗⽬录,但⽗⽬录中必须没有其他⽬录及⽂件。
例如:
[root@server1~]# rmdir dir1 //在当前⽬录下删除dir1空⼦⽬录
[root@server1~] #rmdir-p dir2/subdir2
web开发主流技术//删除当前⽬录中的dir2/subdir22⼦⽬录。删除 subdir22⽬录时,如果dir2⽬录中⽆其他⽬录,则⼀起被删除
4、熟练使⽤ cp命令
(1) cp命令的使⽤⽅法
cp命令主要⽤于⽂件或⽬录的复制。该命令的语法为:
cp [参数] 源⽂件⽬标⽂件
cp命令的常⽤参数选项如下。
-a:尽可能将⽂件状态、权限等属性按照原状予以复制。
-f:如果⽬标⽂件或⽬录存在,先删除它们再进⾏复制(即覆盖),并且不提⽰⽤户。
-i:如果⽬标⽂件或⽬录存在,提⽰是否覆盖已有的⽂件
-r:递归复制⽬录,即包含⽬录下的各级⼦⽬录。
(2) 使⽤cp命令的范例
复制(cp)这个指令是⾮常重要的,不同⾝份者执⾏这个指令会有不同的结果产⽣,尤其是-a、-p选项,对于不同⾝份来说差异⾮常⼤。
下⾯的练习中,有的⾝份为root,有的⾝份为⼀般账号(在这⾥⽤bobby这个账号),练习时请特别注意⾝份的差别。请观察下⾯的复制练习。
[例2-1]
linux操作系统镜像⽤root⾝份将家⽬录下的. bashre复制到/tmp下,并更名为bashre。
[root@server1 ~ ]#cp ~/ .bashrc /tmp/bashrc
[root@server1 ~]#cp -i~/.bashrc /tmp/bashrc
cp: overwrite /tmp/bashrc ' ? n不覆盖,y为覆盖
//重复做两次,由于/tmp下已经存在bashrc了,加上-i选项后,则在覆盖前会询问使⽤者是否确定。可以按下n或者y进⾏第⼆次确认
[例2-2]
变换⽬录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性。
[root@serverl ~ ]#cd /tmp
[root@serverl tmp]#cp /var/1og/wtmp . //想要复制到当前⽬录,最后的“."”不要忘记
[root@server1 tmp]#ls -1 /var/1og/wtmp wtmp
⼀rw-rw-r--1 root utmp 96384 Sep 24 11:54/var/1og/wtmp
⼀rw-r--r--1 root root 96384 Sep 24 14:06 wtmp
//注意上⾯的特殊字体,在不加任何选项复制的情况下,⽂件的某些属性/权限会改变。这是个很重要的特性,连⽂件建⽴的时间也不⼀样了,要注意
那如果你想要将⽂件的所有特性都⼀起复制过来该怎么办呢?可以加上-a,如下所⽰。
[rooteserver1 tmp]#cp -a /var/1og/wtmp wtmp_2
float占几个字节位长[rootEserver1 tmp]#ls -1 /var/1og/wtmp wtmp_2
-rw-rw-r--1 root utmp 96384 Sep 24 11:54/var/1og/wtmp
-rw-rw-r--1 root root 96384 Sep 24 11:54 wtmp_2
cp的功能很多。由于我们常常会进⾏⼀些数据的复制,所以也会常常⽤到这个指令。
-般来说,如果复制别⼈的数据(当然,你必须要有read 的权限)时,总是希望复制到的数据最后是⾃⼰的。
所以,在预设的条件中,cp的源⽂件与⽬的⽂件的权限是不同的,⽬的⽂件的拥有者通常会是指令操作者本⾝。
举例来说,例2-2中由于是root的⾝份,因此复制过来的⽂件拥有者与组就改变成为root所有。
由于具有这个特性,因此在进⾏备份的时候,某些需要特别注意的特殊权限⽂件,
例如密码⽂件(/etc/shadow)以及⼀些配置⽂件,就不能直接以cP来复制,⽽必须要加上-a或-p等属性。
如果你想要复制⽂件给其他使⽤者,也必须要注意到⽂件的权限(包含读、写、执⾏以及⽂件拥有者等);否则,其他⼈还是⽆法针对你给的⽂件进⾏修改。[例2-3]
复制/etc/这个⽬录下的所有内容到/tmp⾥⾯。
[root@server1 tmp]#cp /etc /tmp
cp:omitting directory' /etc' //如果是⽬录,则不能直接复制,要加上-r选项
[root@server1 tmp]#cp -r /etc /tmp
//还是要再次强调:加上-r选项可以复制⽬录,但是⽂件与⽬录的权限可能会被改变,所以也可以利⽤cp-a/etc/tmp命令,尤其是在备份的情况下
[例2-4]
若~/. bashrc⽐/tmp/ bashre新,就复制过来。
[rootserver1 tmp]#cp -u ~/ .bashre / tmp/bashrc
//-u的特性是在⽬标⽂件与来源⽂件有差异时才会复制,所以常被⽤于“备份”的⼯作当中
思考:你能否使⽤bobby⾝份完整地复制/var/log/wtmp⽂件到/tmp下⾯,并更名为bobby_ wtmp呢?
参考答案:
[bobby@server1 ~]$cp -a /var/1og/wtmp / tmp/bobby_ wtmp
[bobby@serverl ~ ]$1s -1 /var/1og/wtmp /tmp/bobby_ wtmp
5、⽂件操作类命令
(1) mv命令
mv命令主要⽤于⽂件或⽬录的移动或改名。该命令的语法为:
mv  [参数] 源⽂件或⽬录⽬标⽂件或⽬录
mv命令的常⽤参数选项如下。
-i:如果⽬标⽂件或⽬录存在时,提⽰是否覆盖⽬标⽂件或⽬录。
-f: ⽆论⽬标⽂件或⽬录是否存在,直接覆盖⽬标⽂件或⽬录,不提⽰。
例如:
//将当前⽬录下的testa⽂件移动到/usr/⽬录下,⽂件名不变
[rooteserverl ~]#mv testa /usr/
//将/usr/testa⽂件移动到根⽬录下,移动后的⽂件名为tt
[root@serverl ~]#mv /usr/testa /tt
(2) rm命令

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。