linux命令

Linux系统中,命令区分大小写。在命令行中,可以使用“Tab”键来自动补齐命令。

利用向上或向下的光标键,可以翻查曾经执行过的历史命令,并可以再次执行。

如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令,如“cd /;ls”。

断开一个长命令行,可以使用反斜杠“\”,可以将一个较长的命令分成多行表达,增强命令的可读性。执行后,shell自动显示提示符“>”,表示正在输入一个长命令,此时可继续在新行上输入命令的后续部分。

pwd命令用于显示用户当前所处的目录。如果用户不知道自己当前所处的目录,就必须使用它。例如:

[root@RHEL7-1 etc]# pwd/etc

cd命令用来在不同的目录中进行切换。用户在登录系统后,会处于用户的家目录($HOME)中,该目录一般以/home开始,后跟用户名,这个目录就是用户的初始登录目录(root用户的家目录为/root)。如果用户想切换到其他的目录中,就可以使用cd命令,后跟想要切换的目录名。 

[root@RHEL7-1 etc]# cd        //改变目录位置至用户登录时的工作目录

[root@RHEL7-1 ~]# cd dir1    //改变目录位置至当前目录下的dir1子目录下

[root@RHEL7-1 dir1]# cd ~   //改变目录位置至用户登录时的工作目录(用户的家目录)

[root@RHEL7-1 ~]# cd ..        //改变目录位置至当前目录的父目录

[root@RHEL7-1 /]# cd        //改变目录位置至用户登录时的工作目录

[root@RHEL7-1 ~]# cd ../etc   //改变目录位置至当前目录的父目录下的etc 子目录下

[root@RHEL7-1 etc]# cd /dir1/subdir1  //利用绝对路径表示改变目录到 /dir1/ subdir1目录下

Linux系统中,用“.”代表当前目录;用“..”代表当前目录的父目录;用“~”代表用户的个人家目录(主目录)。例如,root用户的个人主目录是/root,则不带任何参数的“cd”命令相当于“cd ~”,即将目录切换到用户的家目录。

ls命令用来列出文件或目录信息。

[root@RHEL7-1 ~]#ls   //列出当前目录下的文件及目录

[root@RHEL7-1 ~]#ls -a    //列出包括以“.”开始的隐藏文件在内的所有文件

[root@RHEL7-1 ~]#ls -t    //依照文件最后修改时间的顺序列出文件

[root@RHEL7-1 ~]#ls -F    //列出当前目录下的文件名及其类型

/// 结尾表示为目录名,以* 结尾表示为可执行文件,以@ 结尾表示为符号连接

[root@RHEL7-1 ~]#ls -l  //列出当前目录下所有文件的权限、所有者、文件大小、修改时间及名称

[root@RHEL7-1 ~]#ls -lg  //同上,并显示出文件的所有者工作组名

[root@RHEL7-1 ~]#ls -R   //显示出目录下以及其所有子目录的文件名

cat命令主要用于滚屏显示文件内容或是将多个文件合并成一个文件。 

[root@RHEL7-1 ~]# cat file2 file1>file3

//如果file3文件存在,则此命令的执行结果会覆盖file3文件中原有内容

[root@RHEL7-1 ~]# cat file2 file1>>file3

//如果file3文件存在,此命令的执行结果将把file2file1文件的内容附加到file3文件中原有内容的后面。

在使用cat命令时,如果文件太长,用户只能看到文件的最后一部分。这时可以使用more命令,一页一页地分屏显示文件的内容。more命令通常用于分屏显示文件内容。大部分情况下,可以不加任何参数选项执行more命令查看文件内容。执行more命令后,进入more状态,按“Enter”键可以向下移动一行,按“Space”键可以向下移动一页;按“Q”键可以退出more命令。 

[root@RHEL7-1 ~]#more file1        // 以分页方式查看file1文件的内容

[root@RHEL7-1 ~]#cat file1 | more     // 以分页方式查看file1文件的内容

less命令是more命令的改进版,比more命令的功能强大。more命令只能向下翻页,而less命令可以向下、向上翻页,甚至可以前后左右移动。执行less命令后,进入了less状态,按“Enter”键可以向下移动一行,按“Space”键可以向下移动一页,按“B”键可以向上移动一页,也可以用光标键向前、后、左、右移动,按“Q”键可以退出less命令。 

less命令还支持在一个文本文件中进行快速查找。先按下斜杠键“/”,再输入要查找的单词或字符。less命令会在文本文件中进行快速查找,并把找到的第一个搜索目标高亮度显示。如果希望继续查找,就再次按下斜杠键“/”,再按“Enter”键即可。

[root@RHEL7-1 ~]#less /etc/httpd/conf/httpd.conf   // 以分页方式查看httpd.conf文件的内容

head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。

[root@RHEL7-1 ~]#head  -n  20  /etc/httpd/conf/httpd.conf   //显示 httpd.conf文件的前20

tail命令用于显示文件的末尾部分,默认情况下,只显示文件的末尾10行内容。 

[root@RHEL7-1 ~]#tail  -n  20  /etc/httpd/conf/httpd.conf   //显示 httpd.conf文件的末尾20 

tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用。 

[root@RHEL7-1 ~]# tail -f /var/log/messages

May  2 21:28:24 localhost dbus-daemon: dbus[815]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service'

……

May  2 21:28:24 localhost systemd: Started Fingerprint Authentication Daemon.

May  2 21:28:28 localhost su: (to root) yangyun on pts/0

May  2 21:28:54 localhost journal: No devices in use, exit

mkdir命令用于创建一个目录。 

[root@RHEL7-1 ~]#mkdir dir1   //在当前目录下创建dir1子目录

[root@RHEL7-1 ~]#mkdir –p dir2/subdir2

//在当前目录的dir2目录中创建subdir2子目录,如果dir2目录不存在,则同时创建

rmdir命令用于删除空目录。 

[root@RHEL7-1 ~]#rmdir dir1   //在当前目录下删除dir1空子目录

[root@RHEL7-1 ~]#rmdir -p dir2/subdir2 

//删除当前目录中dir2/subdir2子目录,//删除subdir2目录时,如果dir2目录中无其他目录,则一起删除

cp命令主要用于文件或目录的复制。 

-a:尽可能将文件状态、权限等属性照原状予以复制。
-f:如果目标文件或目录存在,先删除它们再进行复制(即覆盖),并且不提示用户。
-i:如果目标文件或目录存在,提示是否覆盖已有的文件。
-R:递归复制目录,即包含目录下的各级子目录。

mv命令主要用于文件或目录的移动或改名 

 

//将当前目录下的testa文件移动到/usr/目录下,文件名不变

[root@RHEL7-1 ~]# mv testa /usr/

///usr/testa文件移动到根目录下,移动后的文件名为tt

[root@RHEL7-1 ~]# mv /usr/testa /tt

rm命令主要用于文件或目录的删除。 

//删除当前目录下的所有文件,但不删除子目录和隐藏文件

[root@RHEL7-1 ~]# mkdir /dir1;cd /dir1

[root@RHEL7-1 dir1]# touch aa.txt  bb.txt; mkdir subdir11;ll

[root@RHEL7-1 dir1]# rm *

// 删除当前目录下的子目录subdir11,包含其下的所有文件和子目录,并且提示用户确认

[root@RHEL7-1 dir]# rm -iR subdir11

touch命令用于建立文件或更新文件的修改日期。 

[root@RHEL7-1 ~]# touch aa 

//如果当前目录下存在aa文件,则把aa文件的存取和修改时间改为当前时间

//如果不存在aa文件,则新建aa文件

[root@RHEL7-1 ~]# touch -d 20180808 aa   //aa文件的存取和修改时间改为201888 

rpm命令主要用于对RPM软件包进行管理。RPM包是Linux的各种发行版本中应用最为广泛的软件包格式之一。学会使用rpm命令对RPM软件包进行管理至关重要。

rpm命令的常用参数选项如下。

-qa:查询系统中安装的所有软件包。
-q:查询指定的软件包在系统中是否安装。
-qi:查询系统中已安装软件包的描述信息。
-ql:查询系统中已安装软件包里所包含的文件列表。
-qf:查询系统中指定文件所属的软件包。
-qp:查询RPM包文件中的信息,通常用于在未安装软件包之前了解软件包中的信息。
-i:用于安装指定的RPM软件包。
-v:显示较详细的信息。
-h:以“#”显示进度。
-e:删除已安装的RPM软件包。
-U:升级指定的RPM软件包。软件包的版本必须比当前系统中安装的软件包的版本高才能正确升级。如果当前系统中并未安装指定的软件包,则直接安装。
-F:更新软件包。

[root@server1 ~]#rpm -qa|more     //显示系统安装的所有软件包列表

[root@server1 ~]#rpm -q selinux-policy  //查询系统是否安装了selinux-policy

[root@server1 ~]#rpm -qi selinux-policy      //查询系统已安装的软件包的描述信息

[root@server1 ~]#rpm -ql selinux-policy  //查询系统已安装软件包里包含的文件列表

[root@server1 ~]#rpm -qf /etc/passwd  //查询passwd文件所属的软件包

[root@server1 ]# mkdir /iso; mount /dev/cdrom  /iso   //挂载光盘

[root@server1 ]# cd /iso/Packages  //改变目录到sudo软件包所在的目录

[root@server1 Packages]# rpm -ivh sudo-1.8.19p2-13.el7.x86_64.rpm  //安装软件包,系统将以“#”显示安装进度和安装的详细信息

[root@server1 Packages]# rpm -Uvh sudo-1.8.19p2-13.el7.x86_64.rpm //升级sudo

[root@server1 Packages]#rpm -e sudo-1.8.19p2-13.el7.x86_64.rpm  //卸载sudo

 

卸载软件包时不加扩展名.rpm,如果使用命令:sudo-1.8.19p2-13.el7.x86_64 –nodeps,则表示不检查依赖性。另外,软件包的名称会因系统版本而稍有差异,不要机械照抄。

whereis命令用来寻找命令的可执行文件所在的位置。 

//查找命令rpm 的位置

[root@RHEL7-1 ~]# whereis rpm 

rpm: /bin/rpm /etc/rpm /usr/lib/rpm /usr/include/rpm /usr/share/man/man8/rpm.8.gz

-b:只查找二进制文件。
-m:只查找命令的联机帮助手册部分。
-s:只查找源代码文件。

 

whatis命令用于获取命令简介。它从某个程序的使用手册中抽出一行简单的介绍性文件,帮助用户迅速了解这个程序的具体功能。 

[root@RHEL7-1 ~]# whatis ls

ls            1  - list directory contents

find命令用于文件查找。它的功能非常强大。 

find命令的匹配表达式主要有以下几种类型。

-name filename:查找指定名称的文件。
-user username:查找属于指定用户的文件。
-group grpname:查找属于指定组的文件。
-print:显示查找结果。
-size n:查找大小为n块的文件,一块为512B。符号“+n”表示查找大小大于n块的文件;符号“-n”表示查找大小小于n块的文件;符号“nc”表示查找大小为n个字符的文件。
-inum n:查找索引节点号为n的文件。
-type:查找指定类型的文件。文件类型有:b(块设备文件)、c(字符设备文件)、d(目录)、p(管道文件)、l(符号链接文件)、f(普通文件)。
-atime n:查找n天前被访问过的文件。“+n”表示超过n天前被访问的文件;“-n”表示未超过n天前被访问的文件。
-mtime n:类似于atime,但检查的是文件内容被修改的时间。
-ctime n:类似于atime,但检查的是文件索引节点被改变的时间。
-perm mode:查找与给定权限匹配的文件,必须以八进制的形式给出访问权限。
-newer file:查找比指定文件新的文件,即最后修改时间离现在较近。
-exec command {} \;:对匹配指定条件的文件执行command命令。

        -ok command {} \;:与exec相同,但执行command命令时请求用户确认。

[root@RHEL7-1 ~]# find  .  -type  f  -exec  ls  -l  {}  \;

//在当前目录下查找普通文件,并以长格形式显示

[root@RHEL7-1 ~]# find  /logs  -type  f  -mtime 5  -exec  rm  {}  \;

///logs目录中查找修改时间为5天以前的普通文件,并删除。保证/logs目录存在

[root@RHEL7-1 ~]# find  /etc  -name  "*.conf"

///etc/目录下查找文件名以“.conf”结尾的文件

[root@RHEL7-1 ~]# find  .  -type  f  -perm 755  -exec  ls {}  \;

//在当前目录下查找权限为755的普通文件并显示

 

注意:由于find命令在执行过程中将消耗大量资源,所以建议以后台方式运行。

locate命令是用户在Linux系统中用来查找文件的命令。就像在Windows中搜索一样,如果你忘了存储文件的位置或它的名字,这是非常有用的。 

locate  -i*  blockchain*use*cases*

grep命令用于查找文件中包含有指定字符串的行。 

-v:列出不匹配的行。
-c:对匹配的行计数。
-l:只显示包含匹配模式的文件名。
-h:抑制包含匹配模式的文件名的显示。
-n:每个匹配行只按照相对的行号显示。
-i:对匹配模式不区分大小写。

提示:grepfind命令的差别在于grep是在文件中搜索满足条件的行,而find是在指定目录下根据文件的相关信息查找满足指定条件的文件。

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。 

dmesg命令用实例名和物理名称来标识连到系统上的设备。dmesg命令也用于显示系统诊断信息、操作系统版本号、物理内存大小以及其他信息,

[root@RHEL7-1 ~]#dmesg|more

提示:系统启动时,屏幕上会显示系统CPU、内存、网卡等硬件信息。但通常显示得比较快,如果用户没有来得及看清,可以在系统启动后用dmesg命令查看

free命令主要用来查看系统内存、虚拟内存的大小及占用情况, 

[root@RHEL7-1 ~]# free

                  total     used         free       shared    buffers     cached

Mem:             126212    124960      1252       0      16408      34028

-/+ buffers/cache:      74524      51688

Swap:            257032     25796      231236

date命令可以用来查看系统当前的日期和时间, 

[root@RHEL7-1 ~]# date

20160122日 星期五 15:13:26 CST

注意:只有root用户才可以改变系统的日期和时间。

cal命令用于显示指定月份或年份的日历,可以带两个参数,其中,年、月份用数字表示;只有一个参数时表示年份,年份的范围为1~9999;不带任何参数的cal命令显示当前月份的日历。 

[root@RHEL7-1 ~]# cal 7 2019

七月 2019

日 一 二 三 四 五 六

    1  2  3  4  5  6

 7  8  9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

clock命令用于从计算机的硬件获得日期和时间。 

[root@RHEL7-1 ~]# clock

20180502日 星期三 151601秒  -0.253886 seconds

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值