环境
虚拟机: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 -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., 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-
[root@node1 ~]# whereis yum
yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum..gz
[root@node1 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root : pts/ :: -bash [root@node1 ~]# hash
hits command
/bin/ps
/usr/bin/whereis
[root@node1 ~]# hash -r
[root@node1 ~]# hash
hash: hash table empty
[root@node1 ~]# echo $$
三、命令帮助
内部命令使用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 read 结果是不一样的
[root@node1 ~]# man read
[root@node1 ~]# man 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=
[root@node1 ~]# echo $a #数组 中间使用空格分隔
[root@node1 ~]# b=( )
[root@node1 ~]# echo ${b[]}