您的位置:首页 > 运维架构 > Linux

Linux基础命令

2016-01-12 14:28 363 查看


一、linux命令分类

输入命令并回车相当于提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程。在shell中可执行的命令有两类:

内部命令:由shell自带的,而且通过某命令形式提供;(如cd

外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件(如ls),可以使用whichwhereis

区别内部和外部命令:type+COMMAND

二、命令格式

COMMAN [OPTIONS][ARGUMENTS]

OPTIONS(选项):用于启用或关闭命令的某个或某些功能

短选项:-字母,如-l、-h,多个短选项可合并使用,如-lh

长选项:--word,如--long、--human-readable

ARGUMENTS(参数):命令作用对象,向命令提供数据


三、Linux命令帮助的获取

1、内部命令:

# help COMMAND

如help history、help cd、help cat等等

2、外部命令:

1)#COMMAND --help、#COMMAND -h

2)使用手册(manual):man COMMAND

位于:/usr/share/man,有man1-man8:

man1:用户命令

man2:系统调用

man3:C库调用

man4:设备文件及特殊文件

man5:配置文件格式

man6:游戏相关

man7:杂项

man8:管理类的命令

man命令的配置文件:/etc/man.config,通过文件修改此配置文件中的MANPATH就可以指明新的手册文件搜索位置

3)信息页:#info COMMAND

4)程序自身的帮助文档:README、INSTALL、ChangeLog

/usr/share/doc/COMMAND-VERSION

5)程序官方文档:官方站点:Documentation

6)发行版的官方文档:redhat的发行版官方文档

7)Google


四、Linux常用基础命令


1、history:管理历史命令

读取的是~/.bash_history中记录下来的历史命令。注意:登陆进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出是追加至命令历史文件中。

常用命令:

history -a:追加本次会话的命令到命令历史文件中;

history -d:删除指定编号的历史命令;

history -c:清空历史命令。

实例:
[root@localhost log]#history
1  cd /
2  cd /var/log
3  history
[root@localhost log]#history -d 1
[root@localhost log]# history
1 cd /var/log
2 history
3 history -d 1
4 history
[root@localhost /]# history -c
[root@localhost /]# history
    1  history




2、 date:显示或设定系统的日期与时间

在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。


2.1 显示日期时间:

命令格式:date [参数]... [+格式]

常用参数:

%D:日期(含年月日)

%T:直接显示时间 (24 小时制)

实例:
[root@localhost log]#date
Tue Jan 12 11:58:43 CST 2016
[root@localhost log]#date +%D
01/12/16
[root@localhost log]#date +%T
11:58:46

2.2 设置日期时间:

命令格式:date  [MMDDhhmm[[CC]YY][.ss]]

实例:
[root@localhost log]# date 011212002016.21
Tue Jan 12 12:00:21 CST 2016




3、 cd:目录切换

Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。

常用命令:

cd 【目录名】:切换到指定目录

cd或cd~:切换到用户家目录(主目录)

cd /:切换到系统根目录

cd -:切换到上一次的目录

cd ..:退回上一级目录

实例:
[root@localhost /]# cd /var/log
[root@localhost log]# pwd
/var/log
[root@localhost log]# cd
[root@localhost ~]#
[root@localhost log]# cd ~
[root@localhost ~]#
[root@localhost log]# cd -
/root
[root@localhost ~]# cd -
/var/log
[root@localhost log]#cd ..
[root@localhost var]#cd ..
[root@localhost /]#


4、pwd:显示当前目录

Linux中用pwd命令来查看”当前工作目录“的完整路径。简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。

命令格式:pwd [选项]

问:为什么pwd命令可以显示当前目录?

答:因为系统中有一个PWD的环境变量,保存了当前的目录路径,pwd命令实际就是读取了环境变量PWD内容并显示出来。

问:为什么cd -可以返回上一次的目录

答:因为系统中有一个OLDPWD环境变量,保存了上一次所在目录路径,cd -命令实际切换到OLDPWD所保存的目录路径,所以cd - 命令等同于cd $OLDPWD

实例:
[root@localhost /]# cd /var/log
[root@localhost log]# pwd
/var/log
[root@localhost log]#echo $PWD
/var/log
[root@localhost log]# cd -
/
[root@localhost /]# echo $OLDPWD
/var/log
[root@localhost /]#cd $OLDPWD
[root@localhost log]# pwd
/var/log




5、ls:列出指定目录中所有的子目录和文件

ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。

命令格式:ls [选项] [目录名]

选项:

-a:–all 列出目录下的所有文件,包括以 . 开头的隐含文件

-A:同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)

-l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

-h:–human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G),一般和-l一起使用

-d: –directory 将目录象文件一样显示,而不是显示其下的文件,一般和-lh一起使用

-r:  –reverse 依相反次序排列

-R:–recursive 同时列出所有子目录层

实例:
[root@localhost /]# ls /etc/httpd
conf  conf.d  logs  modules  run
[root@localhost /]# ls -a /etc/httpd
.  ..  conf  conf.d  logs  modules  run
[root@localhost /]# ls -A /etc/httpd
conf  conf.d  logs  modules  run
[root@localhost /]# ls -l /etc/httpd
total 8
drwxr-xr-x. 2 root root 4096 Dec 31 06:22 conf
drwxr-xr-x. 2 root root 4096 Dec 31 06:22 conf.d
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root   29 Dec 31 06:22 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 run -> ../../var/run/httpd
[root@localhost /]# ls -lh /etc/httpd
total 8.0K
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf.d
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root   29 Dec 31 06:22 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 run -> ../../var/run/httpd
[root@localhost /]# ls -lhr /etc/httpd
total 8.0K
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 run -> ../../var/run/httpd
lrwxrwxrwx. 1 root root   29 Dec 31 06:22 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 logs -> ../../var/log/httpd
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf.d
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf
[root@localhost /]# ls -lhR /etc/httpd
/etc/httpd:
total 8.0K
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf
drwxr-xr-x. 2 root root 4.0K Dec 31 06:22 conf.d
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root   29 Dec 31 06:22 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root   19 Dec 31 06:22 run -> ../../var/run/httpd

/etc/httpd/conf:
total 52K
-rw-r--r--. 1 root root 34K Aug  2  2013 httpd.conf
-rw-r--r--. 1 root root 13K Aug 14  2013 magic

/etc/httpd/conf.d:
total 12K
-rw-r--r--. 1 root root 118 May 20  2009 mod_dnssd.conf
-rw-r--r--. 1 root root 392 Aug 14  2013 README
-rw-r--r--. 1 root root 299 Aug  2  2013 welcome.conf



6、cat:一次显示整个文件

cat这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。此处仅仅介绍显示文件的功能。

命令格式:cat [选项] [文件]...

选项:

-A,:--show-all,等价于 -vET

-E,:--show-ends,在每行结束处显示 $

-n:--number,对输出的所有行编号,由1开始对所有输出的行数编号

实例:
[root@localhost /]#  cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:48:41:AC
TYPE=Ethernet
UUID=d49ec249-6c88-4227-adff-90d31bb9edac
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.0.0.10
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=10.0.0.1

[root@localhost /]#  cat -A /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0$
HWADDR=00:0C:29:48:41:AC$
TYPE=Ethernet$
UUID=d49ec249-6c88-4227-adff-90d31bb9edac$
ONBOOT=yes$
NM_CONTROLLED=yes$
BOOTPROTO=static$
IPADDR=10.0.0.10$
NETMASK=255.255.255.0$
GATEWAY=10.0.0.1$
DNS1=10.0.0.1$
$
[root@localhost /]#  cat -n /etc/sysconfig/network-scripts/ifcfg-eth0
1  DEVICE=eth0
2  HWADDR=00:0C:29:48:41:AC
3  TYPE=Ethernet
4  UUID=d49ec249-6c88-4227-adff-90d31bb9edac
5  ONBOOT=yes
6  NM_CONTROLLED=yes
7  BOOTPROTO=static
8  IPADDR=10.0.0.10
9  NETMASK=255.255.255.0
10  GATEWAY=10.0.0.1
11  DNS1=10.0.0.1
12


7、file:查看文件内容类型

该命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。

命令格式:file 【文件路径】

实例:
[root@localhost /]# file /etc
/etc: directory
[root@localhost /]# file /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0: ASCII text





8、echo:回显命令



echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的。echo可以回显出输入的字符,也能读取出变量中所存储的值并显示出来。


命令格式:echo [选项] [字符串] / [变量]


选项:


-n:输出文字后不换行


-e:允许使用转义符 (\n换行,\t制表符tab)


echo “$VAR_NAME”  变量会替换,双引号表示弱引用


echo ‘$VAR_NAME’  变量不会替换,单引号表示强引用

实例:
[root@localhost /]# echo "how are you?"
how are you?
[root@localhost /]# echo "$SHELL"
/bin/bash
[root@localhost /]# echo '$SHELL'
$SHELL
[root@localhost /]# echo -n "how are you?"
how are you?[root@localhost /]#
[root@localhost /]# echo -e "how \nare you?"
how
are you?
[root@localhost /]# echo -e "how \tare you?"
how     are you?



9、which:查看可执行文件的位置

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

命令格式:which 可执行文件名称

实例:
[root@localhost /]# which ls
alias ls='ls --color=auto'
        /bin/ls
[root@localhost /]# which pwd
/bin/pwd
[root@localhost /]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
        /usr/bin/which



10、whereis:查看文件的位置

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。比which更加详细,这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis
程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

命令格式:whereis [选项] 文件名

选项:

-b  定位可执行文件。

-m   定位帮助文件。

实例:
[root@localhost /]#  whereis httpd
httpd: /usr/sbin/httpd.event /usr/sbin/httpd.worker /usr/sbin/httpd /etc/httpd /usr/lib64/httpd /usr/share/man/man8/httpd.8.gz
[root@localhost /]#  whereis -b httpd
httpd: /usr/sbin/httpd.event /usr/sbin/httpd.worker /usr/sbin/httpd /etc/httpd /usr/lib64/httpd
[root@localhost /]#  whereis -m httpd
httpd: /usr/share/man/man8/httpd.8.gz



11、whatis:查询一个命令执行什么功能

whatis命令在用makewhatis命令创建的数据库(装机后系统会自动执行makewhatis)中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man
-f命令。

命令格式:whatis keyword ...

实例:
[root@localhost /]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents
[root@localhost /]# whatis pwd
pwd                  (1p)  - return working directory name
pwd                  (1)  - print name of current/working directory
pwd [builtins]       (1)  - bash built-in commands, see bash(1)
pwd.h [pwd]          (0p)  - password structure
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux