Linux常用基础命令
命令类型
命令分为外部命令和shell内嵌命令,可以用命令:type COMMAND查询命令的类型
内部:builtin
外部:显示为命令文件路径
注意:命令可以有别名,别名可以和原名相同,使用别名时,原名被隐藏,如果想使用原名,可以使用\COMMAND
1. alias
命令别名:
获取所有可用别名的定义:
~】#alias
定义别名:
~】#alias NAME=‘COMMAND’
注意:仅对当前shell进程有效
撤销别名:
~】#unalias NAME
2. which
which - shows the full path of (shell) commands
which [options] [--] programname [...]
--skip-alias:忽略别名
3. whereis
whereis - locate the binary, source, and manual page files for a command
whereis [options] name...
-b:仅搜索二进制程序路径
-m:仅搜索使用手册文件路径
4. who
who - show who is logged on
who [OPTION] ...
-b:系统此次启动的时间
-r:运行级别
5. w
w - Show who is logged on and what they are doing
6. history
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数
HISTFILE:持久保存命令历史的文件
.bash_history
HISTFILESIZE:命令历史文件的大小
命令用法:
history [-c] [-d 偏移量] [n]
或history –anrw [文件名]
或history –ps 参数 【参数…】
-c:清空历史命令
-d offset:删除指定命令历史
-r:从文件读取命令历史至历史列表中
-w:把历史列表中的命令追加至历史文件中
history #:显示最近的#条命令
调用命令历史列表中的命令:
!#:再一次执行命令历史列表中的第#条命令
!!:再一次执行上一次命令
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
注意:命令的重复执行有时候需要依赖于幂等性
调用上一条命令的最后一个参数:
快捷键:ESC,.
字符串:!$
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令
ignoreboth:以上两者同时生效
ignorespace:忽略以空白字符开头的命令
修改变量的值:
NAME=‘VALUE’
7. mkdir rmdir
mkdir make directories
mkdir [OPTION]... DIRECTORY...
-p:自动按需创建父目录
-v:verbose 显示详细过程
-m:mode 直接给定权限
注意:路劲基名方为命令的作用对象,基名之前的路径必须存在
rmdir remove empty directories
rmdir [OPTION]... DIRECTORY...
-p:删除某目录后,如果其父目录为空,则一并删除
-v:显示过程
bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b
例如创建如下目录结构
8. tree
tree [options] [directory]
-L level:指定要显示的层级
9. bash的基础特性
命令的执行状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行结束后返回值保存于bash的特殊变量$?中
引用命令的执行结果:
$(COMMAND)或者`COMMAND`
引用:
强引用:’’
弱引用:””
命令引用:``
快捷键:
Ctral+a:跳转至命令行首
Ctral+e:跳转至命令行尾
Ctral+u:删除行首至光标所在处所有内容
Ctral+k:删除光标处到行尾所有内容
Ctral+l:清屏,相当于clear
10. cat,tac,head,tail,more,less
分屏查看命令:more,less
more:more FILE
特点:翻屏至文件尾部后自动退出
less:less FILE
head:查看文件的前n行
head [OPTION] FILE
-n #或者-#(#代表行数)
tail:查看文件的后n行
tail [OPTION] FILE
-n #或者-#(#代表行数)
-f:查看文件尾部的内容后不退出,跟随显示新增的行
11. stat
stat - display file or file system status
stat [OPTION]... FILE...
文件包含两类数据:
元数据:metadata
数据:data
时间戳:
12. touch
touch - change file timestamps
touch [OPTION]... FILE...
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
13. cp(copy)命令
源文件:目标文件
单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归复制目录
-d:复制符号链接本身,而非链接文件所指向的源文件
-a:-dR --preserve=all,archive,用于实现归档
--preserve=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
14. mv命令(move)
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i:交互式
-f:force
15. rm命令(remove)
rm [OPTION]... FILE...
常用选项:
-i:interactive
-f:force
-r:recursive
删除目录:rm -rf /PATH/TO/DIR
危险操作:rm –rf /*
注意:所有不用的文件建议不要直接删除,而是移到某个专用目录(模拟windows下的回收站,达到Linux回收站的效果)
16. tr命令
17. umask
18. install
19. mktmp
20. pwd
printing working directory(显示工作目录)
21. cd
change directory
cd [/PATH/TO/SOMEDIR]
cd:切换至家目录
cd ~:切换至自己家目录
cd ~USERNAME:切换至指定用户的家目录
cd -:切换至上一次目录,来回切换
相关的环境变量
$PWD:当前工作目录
$OLDPWD:上一次工作目录
22. ls
list(列出指定目录下的内容)
ls [OPTION]... [FILE]...
-a:显示所有文件,包括隐藏文件
-A:显示除. ..以外的所有文件
-l:--long,长格式列表,即显示文件的详细属性信息
-h:--human-readable:对文件大小单位换算:换算后结果可能非精确值
-d:查看目录自身而非其内部的文件列表
-r:reverse,逆序显示
-R:recursive,递归显示
23. cat
concatenate
文件文本查看工具:
cat [OPTION]... [FILE]...
-n:给文本显示编号
-E:显示行结束符$
24. tac
用法和cat一样,为cat的反序命令(即tac输出的结果的顺序正好和cat输出的结果相反)
25. file
查看文件内容类型
file [FILE]...
26. echo
echo [SHORT-OPTION]... [STRING]...
-n:不进行交换
-e:让转义符生效
\n:换行
\t:制表符
STRING可以使用引号,单引号和双引号均可用
单引号:强引用,变量引用不替换
双引号:弱引用,变量引用会替换
变量引用的正规字符:${name}
27. shutdown
关机或重启命令
shutdown [OPTIONS..] [TIME] [WALL...]
OPTIONS:
-h:halt(关机)
-r:reboot(重启)
-c:cancel(取消)
TIME:
now
hh:mm
+m
WALL:向各个terminal发送消息,wall也是一个单独的命令
28. date clock
日期相关的命令
Linux系统启动时从硬件读取日期和时间信息:读取完成后,就不再与硬件时间相关
date:系统时钟
显示日期时间:date [OPTION]... [+FORMAT]
FORMAT:格式符
例如:%F,%T,%Y
%s:从1970年1月1日(unix元年)0点0分0秒到命令执行那一刻经过的秒数
设定日期:date [MMDDhhmm[CC[YY]][.ss]]
clock:硬件时钟
hwclock,clock:硬件时钟
显示或设定硬件时钟
-s,--hctosys:以硬件为准,把系统调整为与硬件时间相同
-w,--systohc:以系统为准,把硬件时间调整为与系统时钟相同
cal:日历
cal[[month]year]