【Linux学习一】命令查看与帮助

2018/12/19 21:28
阅读数 86

环境
  虚拟机: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

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部