环境
虚拟机:VMware 10
Linux版本:CentOS-6.5-x86_64
客户端:Xshell4
FTP:Xftp4
一、Linux执行命令流程:
shell
->bash(解释器 执行器)
->空白符切割,得到的第一个元素,作为命令cmd
->判断是内部命令(a shell builtin)还是外部命令
->在$PATH中给定的目录中寻找命令 从左向右
二、查看命令类型
命令:type 查看命令所在目录 类型(内部命令还是外部命令)
命令:file 查看文件类型
#加参数 -a可查看详细信息 [root@node1 ~]# type ifconfig ifconfig is /sbin/ifconfig [root@node1 ~]# type cd cd is a shell builtin #内部命令 #ELF 说明是一个二进制文件 [root@node1 ~]# file /sbin/ifconfig /sbin/ifconfig: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
echo $PATH 查看环境变量; echo $LANG 查看字符集; echo $$ 查看当前shell PID; whereis 查看命令路径; hash 缓存之前查找过的命令 hash -r清除命令缓存; ps -ef 查看当前进程;
[root@node1 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@node1 ~]# echo $LANG en_US.UTF-8 [root@node1 ~]# whereis yum yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum.8.gz [root@node1 ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1142 1124 0 19:01 pts/0 00:00:00 -bash [root@node1 ~]# hash hits command 1 /bin/ps 1 /usr/bin/whereis [root@node1 ~]# hash -r [root@node1 ~]# hash hash: hash table empty [root@node1 ~]# echo $$ 1142
三、命令帮助
内部命令使用help
外部命令使用man,需要安装:yum install man man-pages -y
[root@node1 ~]# help cd #按q退出 查看 [root@node1 ~]# man ifconfig
注意:有时使用man 查不到命令解释,这事需要根据命令类型 加入参数来查看
命令大致分为以下8类:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
#使用man read 和man 2 read 结果是不一样的 [root@node1 ~]# man read [root@node1 ~]# man 2 read
常用管理命令:chkconfig 查看当前开机启动程序清单状态
关闭防火墙:
1. 永久性生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
2. 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
对于设置了开机启动的应用程序,也可以使用chkconfig,比如 chkconfig nginx on / off 启动 /关闭
文件描述符:ulimit -a 查看一个进程可以最大打开多少文件数
四、变量
变量前面加美元符号$,表示取变量值
[root@node1 ~]# a=1 [root@node1 ~]# echo $a 1 #数组 中间使用空格分隔 [root@node1 ~]# b=(1 2 3) [root@node1 ~]# echo ${b[0]} 1