Shell解释器
查看系统默认的shell:echo $SHELL
查看系统支持的shell:cat /etc/shells
shell命令分为两种,分别是内部命令和外部命令。
可以使用type
命令区分是内部命令还是外部命令。
控制台
w
显示当前登入系统的用户信息以及他们正在执行的程序。
- 控制台终端(/dev/ttyn)
- 虚拟终端(/dev/pts/n)
命令行提示标识的含义
[当前用户@主机名 工作目录]
- 若当前用户是
root
,则最后一个字符为#
- 若当前用户是普通用户,则最后一个字符为
$
~
为家目录
whoami
查看用户
su - 用户名
切换用户
命令行的一般格式
基本用法:命令字 [选项]… [参数1] [参数2]…
查看主机名和IP信息
查看主机名:hostname
查看IP信息:ifconfig
或者ip addr
关机及重启操作
重启:reboot
关机:shutdown
快速编辑技巧
快捷键:
快捷键 | 功能 |
---|---|
Ctrl + Insert | 复制 |
Shift + Insert | 粘贴 |
ctrl+l | 清空屏幕或者clear |
ctrl+c | 退出某个正在执行中的操作 |
ctrl+d | 退出shell或者exit退出 |
ctrl+a | 将光标移到行首 |
ctrl+e | 将光标移到行尾 |
ctrl+u | 删除光标前的字符 |
ctrl+k | 删除光标后的字符 |
ctrl+w | 删除光标前空格为界线的单词 |
ctrl+左右箭头 | 以单词为单位移动光标 |
ctrl+r | 搜索历史命令 |
tab键补全 | 可补齐命令字、选项、参数、文件路径、软件名、服务名 |
获取帮助:
man
帮助--help
帮助
管理/调用曾经执行过的命令:
history //查看历史命令列表
history -c //清空历史命令
!n //执行命令历史中的第n条命令
!str //执行最近一次以str开头的历史命令
目录和文件管理
树状目录结构
Linux系统的目录组成类拟一个倒置的树型结构,它以一个名为根(“/”)的目录开始向下延伸,一切皆文件。
查看树状目录:tree
常见目录
目录 | 存放内容 |
---|---|
/bin | 存储常用用户指令 |
/boot | 存放用于系统引导时使用的各种文件 |
/dev | 存放用于系统引导时使用的各种文件 |
/etc | 存放系统、服务的配置目录与文件 |
/home | 存放用户家目录 |
/lib | 存放库文件,如内核模块、共享库等 |
/usr | 存放系统应用程序目录 |
常见命令
List查看目录:ls
格式:ls [OPTION]... [FILE]...
常用命令选项:
-a
显示所有文件及目录 (包括以“.”开头的隐藏文件)
-A
同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-l
使用长格式列出文件及目录信息
-h
以人类可读的形式展示,添加可读单位k
-r
将文件以相反次序显示(默认依英文字母次序)
-t
根据最后的修改时间排序
-R
递归列出所有子目录
以人类可读的长格式显示目录中的内容:ls -lh /boot/
以人类可读的长格式显示目录本身信息:ls -lhd /boot/
Print Working Directory查看当前工作目录:pwd
Change Directory切换工作目录:cd
格式:cd [目标文件夹位置]
参数:
~
进入用户主目录
-
返回进入此目录之前所在的目录
.
表示目前所在的目录
..
返回上级目录
Make Directory创建目录mkdir
格式:mkdir [OPTION]... DIRECTORY...
递归创建多级目录:mkdir -p /a/b/c/d
创建文件touch
格式:touch [OPTION]... FILE...
创建多个文件:touch a b c
批量创建文本文件:touch file{1..50}.txt
查看文档内容cat
格式:cat [OPTION]... [FILE]...
-n
或--number
:由 1 开始对所有输出的行数编号。
Copy复制cp
格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用参数:
-f
若目标文件已存在,则会直接覆盖原文件
-i
若目标文件已存在,则会询问是否覆盖
-p
保留源文件或目录的所有属性
-r
递归复制文件和目录
-l
对源文件建立硬连接,而非复制文件
-s
对源文件建立符号连接,而非复制文件
-b
覆盖已存在的文件目标前将目标文件备份
拷贝到当前目录:cp /etc/passwd .
拷贝到当前目录并改名字:cp /etc/passwd mima
递归拷贝y目录:cp -r y a/
递归拷贝y目录下的所有内容:cp -r y/* a/
Move移动或者剪切mv
格式:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用参数:
-i
若存在同名文件,则向用户询问是否覆盖
-f
覆盖已有文件时,不进行任何提示
-b
当文件存在时,覆盖前为其创建一个备份
-u
当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
将文件file_1重命名为file_2:mv file_1 file_2
将文件file移动到目录dir中:mv file /dir
将目录dir1移动目录dir2中:mv dir1/ dir2/
将目录dir1下的所有内容移动目录dir2中:mv dir1/* dir2/
Remove删除rm
格式:
rm [OPTION]… [FILE]…
常用参数:
-f
忽略不存在的文件,不会出现警告信息-i
删除前会询问用户是否操作-r/R
递归删除
强制递归删除dir1:rm -rf dir1/
通配符
*
匹配任意(0个或多个)字符或字符串,包括空字符串。
?
匹配任意1个字符,有且只有一个字符。
[abcd]
匹配abcd中任何一个字符,abcd也可以是其他任意不连续字符。
[a-z]
匹配a到z之间的任意一个字符,字符前后要连续,也可以用连续数字,即[1-9]
。
[!abcd]
表示不匹配括号里面的任何一个字符,也可以写为[!a-d]
,这里的!
号可以用^
替代,即[^abcd]
。
别名
查看已设置的别名:alias [别名名称]
定义临时新的别名:alias 别名名称 = '实际执行的命令行'
取消已设置的别名:unalias [别名名称]
永久定义别名需要修改配置文件:
vim ~/.bashrc
source ~/.bashrc
echo "alias ld='ls -ld'" >> ~/.bashrc
source ~/.bashrc
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279221.html