首先需要明确的是:
Linux中无论是指令还是选项或者参数,请认真对待字母大小写。
Linux中通用的命令使用方式是:命令 [选项] [参数]
1. pwd
pwd:print name of current/working directory,即打印当前的目录(工作目录),光杆处于哪个目录下就会在终端上输出当前路径的绝对路径。
用法示例:
[lantian@localhost ~]$ pwd
/home/lantian
这个指令在日常使用中一般不会带其它选项,注意pwd指令没有参数。
2. cd
cd:change directory,改变目录。
用法示例:
-
切换至指定目录,如切换至/var/log目录:
[lantian@localhost ~]$ cd /var/log/
[lantian@localhost log]$ pwd
/var/log
-
切换至上一层目录:
[lantian@localhost opt]$ cd ..
[lantian@localhost var]$ pwd
/var
-
切换至当前用户的家目录:
[lantian@localhost var]$ cd ~
[lantian@localhost ~]$ pwd
/home/lantian
或者
[lantian@localhost var]$ cd
[lantian@localhost ~]$ pwd
/home/lantian
-
切换至上一次执行cd指令时所处的目录:
[lantian@localhost ~]$ cd /var/log
[lantian@localhost log]$ cd /opt
[lantian@localhost opt]$ cd -
/var/log
3. ls
ls:列出目录的内容,即列出目录所包含的各种类型的文件以及目录。
常用选项:
-l 列出文件或目录的详细属性信息(权限、大小、最后的修改日期)
-r 以逆序进行排列
-R 递归列出子目录下的所有文件名
-h 将文件大小以人类可读的形式显示
-d 仅列出目录名而列出文件名
-a 列出所有文件及目录包含隐藏文件
-A 显示除隐藏文件"."和".."之外的所有文件
-t 用文件和目录的更改时间排序
用法示例:
-
列出目录下所有文件及目录不包含隐藏文件并显示详细属性信息,以文件和目录的更改时间进行逆序排序,文件大小人类可读:
-
同时列出多个不同路径下的文件列表
-
列出指定目录下的所有文件及目录包含子目录及其文件
4. echo
echo:回显指令,在终端中显示指定的文本。
常用用法:
-
显示一段指定的文本:
[lantian@localhost log]$ echo 'hello World!'
hello World!
如果文本中没有引入其它变量,建议使用单引号即可,因为在shell中单引号会忽略引用内容中的所有特殊字符,如果需要在引用中再次引入变量,则需要使用双引号。
如下所示:
[lantian@localhost log]$ person=lantian
[lantian@localhost log]$ echo 'Hello $person'
Hello $person
[lantian@localhost log]$ echo "Hello $person"
Hello lantian
-
将字符串分行显示:
[lantian@localhost log]$ echo -e "Hello \n$person"
Hello
lantian
5. clock = hwclock
clock:查看或者设置主机硬件时钟,它通常保存于主机的BIOS中。
-
查看主机硬件时钟:
需要注意的是要使用这个命令查看主机时钟,默认需要root账号权限。
[lantian@localhost log]$ clock
clock: Cannot access the Hardware Clock via any known method.
clock: Use the --debug option to see the details of our search for an access method.
[lantian@localhost log]$ hwclock
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --debug option to see the details of our search for an access method.
根据以上提示信息,使用debug选项进一步查看原因,可荻知是由于文件权限问题所致:[lantian@localhost log]$ clock --debug
clock from util-linux 2.23.2
clock: cannot open /dev/rtc: Permission denied
No usable clock interface found.
clock: Cannot access the Hardware Clock via any known method.
切换至root账号,即可使用clock或者hwclock指令查看硬件时钟。[root@localhost ~]# clock
Sun 30 Oct 2016 02:35:28 PM CST -0.759522 seconds
[root@localhost ~]# hwclock
Sun 30 Oct 2016 02:35:32 PM CST -0.827415 seconds
-
设置主机硬件时钟:
查看硬件时钟与系统时钟是否一致
[root@localhost ~]# clock
Sun 30 Oct 2016 02:39:44 PM CST -0.324487 seconds
[root@localhost ~]# date
Sun Oct 30 02:27:48 CST 2016
以上信息可以看出系统时钟与硬件时钟不一致,查看北京时间获知硬件时钟准确,所以此时可以使用-s功能让系统时钟以硬件时钟为准进行同步。 [root@localhost ~]# clock -s
[root@localhost ~]# clock
Sun 30 Oct 2016 02:40:10 PM CST -0.585457 seconds
[root@localhost ~]# date
Sun Oct 30 14:40:12 CST 2016
若系统时钟更准确,也可以使用-w功能让硬件时钟以系统时钟为准进行同步,指令格式和-s一致。
6. date
date:查看系统时钟,包含日期和时间。它有非常丰富的格式化选项,将时间和日期按特定的格式进行输出。常用的主要有:
%T 将时间按hour:minute:second的方式输出
%Y 显示年
%m 显示月
%d 显示日
%H 显示时
%M 显示分
%S 显示秒
-
如将日期时间以“年月日-时分秒”的形式显示出来:
[lantian@localhost log]$ date +%Y%m%d-%H%M%S
20161030-150640
-
设置系统时间及日期:
注意需要以root账户进行系统时间及日期的设置。[root@localhost ~]# date 103020022015.30
Fri Oct 30 20:02:30 CST 2015
7. cal
cal:查看日历。常用方式: cal [[[day] month] year],直接输入cal会显示当月的日历。
如查看2016年11月份的日历:
8. cat
cat:查看文本文件的内容,从第一行往最后一行输出。
常用方式:
-
显示文本的行号,使用-n选项:
-
显示文本中的隐藏字符: 在shell中处理文本文件时,有时候会遇到特殊字符的问题,使用-A选项可以看到文本中的特殊字符。
-
与cat类似的指令:tac
它是将文本文件的内容从最后一行往最开始的一行输出。
8. file
file: 用于查看文件的类型,前面已提到文本文件,那如何判断一个文件是否是文本文件呢,就可以使用file指令。 示例如下:
[root@localhost log]# file messages
messages: ASCII text
如上所示显示为ASCII text的即为一个文本文件。
查看系统指令文件类型,为ELF:
[root@localhost log]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
9. type
type:查看指令的类型,是属于内置命令还是外部命令。
示例如下:
[root@localhost log]# type cd
cd is a shell builtin
[root@localhost log]# type pwd
pwd is a shell builtin
[root@localhost log]# type cat
cat is hashed (/bin/cat)
[root@localhost log]# type ls
ls is aliased to
ls –color=auto[root@localhost log]# type echo
echo is a shell builtin
10. tty
tty:显示当前用户所使用的终端编号及类型。
示例如下:
[root@localhost log]# tty
/dev/pts/2
11. poweroff,shutdown,reboot,halt
这几个指令都需要root权限才能够执行。 poweroff:立即关闭计算机。 shutdown:不加任何选项时等同于poweroff,会立即关闭计算机,它可以指定时间,并发送通知消息给登录用户。如计划10分钟后关机,并给用户发送消息“test”:
根据 上面的提示信息也可以看到,如果要取消已经计划的关机任务,可以使用shutdown -c
,shutdown -r
可以执行重启操作,等同于reboot
指令。
reboot、halt、poweroff三者操作方法类似。
12. ifconfig
ifconfig: 网络接口状态查看、配置指令。
-
查看系统中所有已激活的网络接口包含处于Down状态的
-
关闭某块网卡
ifconfig [interface] down
-
打开某块网卡
ifconfig [interface] up
-
判断网卡是否处于UP状态
在ifconfig中输出有RUNNING字样的网卡都处于UP状态,没有即处于Link Down状态。
13. export
export指令:查看或设置环境变量。如当我们要执行一个命令时,但这个命令的执行文件不在当前目录,这样在使用这个命令时,每次都需要指定执行文件的目录。这时在写shell脚本时,用export指令先告诉程序执行某个指令时去到这个目录中查找。这样子就不必每次执行命令时都需要输入完事的目录。export的时效只限于当次登录操作。 使用方法: export $PATH="路径"
14. history
history:这个命令用以查看当前用户历史执行的指令,包含执行不成功的指令。当忘记某些指令的用法但记得之前执行过,可以使用这一指令将原来执行过的指令找出来。它默认按照时间从远到近的顺序输出。
常用方式:
-
history -c : 清空命令历史
-
history -d offset: 删除指定命令历史
-
history -r:从文件读取命令历史至历史列表中
-
history -w :把历史列表中的命令追加至历史文件中
-
history # :显示最近的#个命令
!# :再一次执行历史列表中的第#条命令
!! :再一次执行上一条命令
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
15. which
which:查找当前用户的shell指令所在的路径。
如查找ifconfig指令,root用户和非root用户所找出来的指令可执行文件路径就不一样,因为它是根据当前用户的PATH这个环境变量所设定的路径去寻找这个指令的执行文件。
16. whereis
whereis:用来查看某个文件所在的路径。当在执行某个指令时提示找不到指令,可以先使用whichis来查找这个指令所对应的执行文件所在的路径,然后看看这一路径是否并没有在当前用户的PATH环境变量中。
[lantian@localhost ~]$ whereis reboot
reboot: /usr/sbin/reboot /usr/share/man/man8/reboot.8.gz
17. who
who: 查看当前有哪些用户登录上来,可以看到其登录的终端及源ip地址。可以查看系统是何时开机启动的。
-
查看有哪些用户登录上来:
[root@localhost ~]# who
lantian tty1 2016-10-29 22:10
lantian pts/0 2016-10-30 16:39 (192.168.249.1)
-
查看系统是何时开机启动的:
[root@localhost ~]# who -b
system boot 2016-10-29 22:10
18. w
w:查看哪些用户登录上来,系统当前时间及CPU平均负荷情况。
使用示例:
19. man
man: 系统各种指令的详细使用说明手册。当不清楚某一指令的用法时,可以使用man COMMAND
来获取帮助。多看就能够通过man获得非常有用的帮助信息。多练习就能够熟记常用指令的用法。
原创文章,作者:N24_lantian,如若转载,请注明出处:http://www.178linux.com/56109
评论列表(1条)
总结的不错,希望你能熟知这些基础的知识,加油!