Linux系统的基础命令
命令的语法通用格式:# COMMAND OPTIONS ARGUMENTS
COMMAND: 发起命令,请求内核将某个二进制程序运行为一个进程
命令本身是一个可执行的程序文件;二进制格式的文件,有可能会调用共享库文件
多数程序文件都存放在:/bin, /sbin, /usr/sbin ,/usr/bin, /usr/local/bin, /usr/local/sbin
普通命令存放位置:/bin,/usr/sbin,/usr/local/bi
管理命令存放位置:/sbin,/usr/sbin,/usr/local/sbin
共享库: /lib,/lib64,/usr/lib,/usr/li64,/usr/local/lib,/usr/local/lib64
32位的库: /lib,/usr/lib,/usr/local/lib
64位的库:/lib64,/usr/li64,/usr/local/lib64
注意:并非所有的命令都有一个早某目录与之对应的可执行程序文件
命令必须遵循特定格式规范:exe,msi,ELF(Linux)
# file /bin/ls
命令分为两类:
由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令
shell程序是独特的程序,负责解析用户提供的命令;
环境变量:
PATH:从哪些路径汇中查找用户键入的命令字符串所对应的命令字符串
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自作向右
如果是shell内部命令,则不会有这些命令存在的位置,是shell程序自带的
查看命令类型:type+命令
OPTIONS:
指定命令的运行特性;
选项有两种表现形式:
短选项:-C eg. -l , -d
注意:有些命令的选项没有-;
如果同一命令使用多个短选项,多数可合并:
[root@localhost /]# ls -l -d /var
drwxr-xr-x. 19 root root 4096 8月 10 15:18 /var
[root@localhost /]# ls -ld /var
drwxr-xr-x. 19 root root 4096 8月 10 15:18 /var
长选项:–word, eg.–help,–human-readable
注意:长选项可以带参数;
注意:有些选项可以带参数,此称为选项参数;
ARGUMENTS:
命令的作用对象;命令对什么生效
注意:不同的命令参数;有些命令可以同时带多个参数,多个之间以空白字符分割
基础命令介绍
which命令:
which – shows the full path of (shell) commands. 显示命令的完整路径
which [options] [–] programname […]
–skip-alias:不显示别名
whereis命令:
locate the binary, source, and manual page files for a command
定位二进制、来源、帮助手册文件的命令
-b:只显示二进制格式
-m:只显示帮助手册
who命令:
查看登录当前系统的相关信息
-b: 显示上一次系统是什么时候启动的
-r: 显示运行级别
w命令:
增强版的who命令,用于显示谁登陆了系统以及在做什么
bash的基础特性:
命令历史:shell进程会对其会话中保存此前用户提交执行过的命令
# history
定制history的功能:可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数
eg.[root@bogon ~]# echo $HISTSIZE
1000
HISTFILE:持久保留命令历史的文件
每个用户下都有一个隐藏文件.bash_history
文件中不会有用户刚刚操作过的命令,因为这个文件是用户登出后内存写入这个文件的
HISTFILESIZE:命令历史的文件的大小
eg [root@bogon ~]# echo $HISTFILESIZE
1000
注意:比如命令历史文件中有800条记录,当系统开机时自动加载到内存中,开机后用户操作300条命令
所以用history命令操作后看到的历史命令的条数可以使1100条
比如命令历史文件中有300条记录,本次操作800条命令,用户登出后本次操作的记录保存到历史文 件中那么历史文件的大小还是1000条,最前面的100条记录溢出
-c:清空命令历史(删除内存中的记录)
-d+偏移量:删除指定位置的历史记录
-w:将当前历史写入到历史文件中并追加到历史列表中(内存–>文件)
-r:读取历史文件并将内容追加到历史列表中(文件–>内存)
history + #:显示最近的#条命令
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令
!!:再一次执行上一条命令
!STRING:自一次执行命令历史列表中最近一个以STRING开头的命令
注意:命令的重复执行有时候需要依赖于幂等性
调用上一条命令的最后一个参数:
Esc,.
!$
eg:[root@bogon ~]# file !$
file /etc/sysconfig/network-scripts/ifcfg-eno16777736
/etc/sysconfig/network-scripts/ifcfg-eno16777736: ASCII text
控制命令历史记录的方式:
环境变量:HISTCONTROL
[root@bogon ~]# echo $HISTCONTROL
ignoredups —-忽略连续且相同的命令历史记录
其取值有三个:
ignoredups:忽略重复的命令
ignorespace: 忽略以空格开头的的命令
ignorebouth:以上两者同时生效
修改变量的值:
NAME='value'—> 仅对当前shell有效
目录管理类的命令:
mkdir:创建目录
mkdir [OPTION]… DIRECTORY…
注意:路径基名方为命令的作用对象;基名之前的路径必须得存在
-p: 自动按需创建父目录
-v:显示详细的创建过程
-m + MODE:直接给定权限
rmdir: 删除空目录–>仅用于删除空目录
-p:删除某空目录后,如果父目录为空,则一并删除之
-v:显示过程
tree命令:
-L :指定要显示的目录层级
more命令:
more FILE
特点:翻屏至文件尾部后自动退出
less命令:
less FIEL
head命令:
查看文件的前N行
head [options] FILE
-n
-n number
tail命令:
查看文件的后N行
tail [options] FILE
-n
-n number
-f:查看文件尾部内容结束后不退出,跟随显示新增的行。
stat命令:
显示文件或文件系统的状态
eg.[root@bogon ~]# stat /tmp/yum.log
文件:"/tmp/yum.log"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:134 硬链接:1
权限:(0600/-rw——-) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:initrc_tmp_t:s0
最近访问:2016-08-10 14:41:23.814002701 +0800
最近更改:2016-08-10 14:41:23.814002701 +0800
最近改动:2016-08-10 14:41:23.814002701 +0800
创建时间:-
文件:都有两类数据
元数据:metadata–>描述属性的信息
数据:data –>数据本身的信息
时间戳:
最近访问(access time):2016-08-13 16:25:44.156843879 +0800
最近更改(modify time):2016-08-10 14:41:23.814002701 +0800
最近改动(change time):2016-08-10 14:41:23.814002701 +0800
touch命令:
修改文件的时间戳
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t STAMP :修改指定的时间
[[CC]YY]MMDDhhmm[.ss]
cp命令:文件复制
源文件:目标文件
单源复制:cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
多源复制:cp [OPTION]… -t DIRECTORY SOURCE…
单源复制:cp [OPTION]… [-T] SOURCE DEST
如果 DEST不存在:
则先创建此文件,并复制源文件的数据流到 DEST中
如果 DEST存在:
如果DEST是非目录文件:则覆盖目标文件
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:错误
如果DEST存在:
如果DEST是非目录文件:错误
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名
常用选项:
-i: 交互式复制,覆盖之前提醒用户确认
-f:强制覆盖目标文件
-R/-r:递归复制目录:复制目录及目录中的内容
-d:复制符号链接文件本身,而不复制它所连接的源文件
-a: -dR –preserve=all ,archive,用于实现归档(做备份);
–preserv=
mode:权限
pwnership:属主和属组
tomestamps;时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
mv命令:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用选项:
-i: 交互式
-f:强制覆盖目标文件
rm命令:删除文件
常用选项:
-i:交互式
-f:强制执行
-r:递归删除目录
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(回收站)
变量:
命名的内存空间
变量类型:
浮点型
数值型
精确数值
近似数值
变量类型决定了存储格式、数据范围、参与运算等
原创文章,作者:N22-长春-石头,如若转载,请注明出处:http://www.178linux.com/35347