命令:输入命令、回车
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个程序。
buitin内建命令:shell自带的,而且通过某命令形式提供
外部命令在当前系统的某文件系统下有对应的可执行程序文件:
which whereis
区别内部或外部命令:type COMMAND
运行命令:COMMAND [OPTIONS选项...] [ARGUMENTS参数...]
最左侧必须是命令 + [] 可有可无,可以多个
选项:用于启用或关闭命令的某个或某些功能,选项之间用空白字符隔开
短选项:-,例如 -l、-h
多个短选项可一起上使用 例如-l、-h,可写作:-lh
长选项:--,例如:--long、--human,不能合并
1,命令历史:
环境变量
HISTSIZE:命令历史记录的条数
HISTFILE:~/bash_history
HISTFILEFILE:命令历史文件记录的条数
history 显示,管理命令历史。登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
history: -a 追加本次会话新执行的命令历史列表至历史文件中:
-d 删除命令历史中指定的命令,
-c 清空命令历史
快捷操作 !#:调用历史中第#条命令
!string:调用命令历史中最近一个以string开头的命令
!!执行上一条命令
esc+ . 执行上一条命令
控制命令历史的记录方式:
环境变量:HISTORYCTRL
ignoredups:忽略重复的命令 (连续且完全相同的才是重复)
ignorspace:忽略所有以空白开头的命令
ignoreboth:以上两者都是
修改环境变量值的方式:export 变量赋值 不赋值符号后面的数据存储于变量名指向的内存空间
2,命令补全;
内部命令:
外部命令:bash根据PATH环境变量定义的路径,从左而右在每个路径搜寻以给指定命令名命名的文件 ,第一次找到即为要执行的命令。
3,路径补全:把用户给定的字符串当路径开头,在指定上级目录, 用tab键,一次补全,或者再次tab多个路径列表
4,命令行展开
~username ,展开为指定用户目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
6,命令别名(alias)
(1)alias 显示当前shell进程所有可用的命令别名
(2)alias NAME-'VALUE' 定义别名NAME,执行操作VALUE
注意:在命令行中定义的别名,仅对当前shell进程有效,如果想永久有效,要定义在配置文件中
仅对当前用户: ~/.bashrc
对所有用户有效/etc/bashrc
Note:编辑配置给出的新配置不会立即生效
bash重新读取配置文件:
source/path/to/config_file
. /path/to/config_file
撤销别名 unalias unalias [-a] name [name,,,]
7,bash的快捷键
Ctrl+ l:清屏,相当于clear
Ctrl+ a:跳转至命令开始处
Ctrl+ e:跳转至命令结尾处
Ctrl+ c:取消命令的执行
Ctrl+ u:删除命令行首至光标所在处的所有内容
Ctrl+ k:删除光标所在处至命令行尾部的所有内容
8. 关机或重启:
halt, 重启:reboot -f强制关机,-p关机并切断电源)都是调用shutdown
shutdown(安全关机): shutdown [OPTION]... TIME [MESSAGE]
-r :reboot重启
-h;halt关机
TIME时间必须加
now 现在
+m 从命令提交多少分钟
hh:mm :(24h制)直接指定时间
poweroff,init 0
(,shutdown,init 6
用户登录信息:
who:显示当前有哪些用户登录
whoami:系统当前所有的登录会话
w:系统当前所有的登录会话及所做的操作
9,特殊字符命令:
.(跟source功能一样)
“” 可以识别变量,不能识别命令
‘’ 变量和命令都不识别,都当成字符串
`` 变量和命令都识别,并且把单引号,并且会将反向单引号的内容当初命令执行后,再交给调用反向单引号的命令继续
\ 可以实现转译(原本的意思是表示命令没结束)
$ () 变量
{} 等价于``
10,已学习命令
alias(定义过长的命令别名,可以用type查看取得别名是否存在,然后输入alisa 别名=原命令,别名也是临时性,可用enable还原,可以写进nano文本里面保存,输入nano .bashrc,在.bashrc里面修改保存,然后执行source或.➕执行文件.bashrc,执行保存)
bc(二进制转换,输入bc回车,输入obase=2回车,输入转换数字,这是2进制转换,ibase=8,是8进制转换)
cat /etc/motd(登录后提示) /etc/issue(看文本文件)
cat /proc/cpuinfo(跟lscpu一样查询当前设备CPU,不过显示更加详细)
cat /proc/meminfo(跟free指令一样,查看内存 proc文件夹对应的是内存中的数据,都是保存在内存中的,不占磁盘空间)
cat /proc/partitions(跟lsblk功能一眼查看内存中的分区和大小)
cat /etc/redhat-release(查询红帽系列发行版本,ubuntu输入cat /etc/os-release查询)
cd(切换文件夹)
CTRL➕C Cntrl➕D(取消/中断)
clock(查询时间,clock -w修正时间)
cat /etc/timezone(查看当前时区)
cal(显示日历)
date(查询时间。也可以修改时间:后面跟要修改的时间)
date %F(显示今天的日期)
dnf -y install 命令名称((安装软件,,dnf只适用于centos 8,yum适用于centos 6/7)
exit(退出)
echo $PS1 $SHELL(用echo来实现或者显示后缀文本信息,查找路径)
echo $PATH(查看外部命令存储次序,$表示变量,后面跟的是变量名)
echo $LANG(通过LANG来转换中文提示)
echo -e ‘\e[31mwelcom\e[0m’(打印welcom字符颜色,31m色号为红色)或者echo -e ‘\x1B[31mwelcom\x1b[0m’ 效果是一样的。 [0m后缀是颜色终止,防止把后续的颜色都影响了
enable(跟help命令的功能一样但是只显示内部命令词条,输入enable -n XXX可以禁用内部命令,如果想要恢复禁用,再次输入enable XXX恢复,禁用都是临时禁用)
File(判断文件类型)
free(查看内存使用情况)
gedit(图形化工具)
Hostname(主机名)
hostnamectl(主机名设置)
hash(列出曾经执行过的外部命令,hash -r是清除缓存,偶尔会用到)
help(显示内部命令的帮助,也自动把内部命令显示出来,包括内部命令的状态,更加直观和详细,help后面也可以跟内部命令,它会列出这个内部命令的用法说明)
halt(关机)
History(可以列出所有执行过的命令历史,有一部在内存中,有一部分在磁盘,可以输入 cat .bash_history把历史命令存入内存)history -c清除历史,把当前的内存历史清除
inite 0 3 5 6(切换模式,3是切换字符界面,5是切换图形界面,0是关机)
ip a(查询当前终端IP地址)
id -u(IP地址参数)
ls cpu(查看缓存。一级缓存,二级缓存)
logout(退出或表示注销当前身份)
lsblk(显示当前硬盘和分区列表) l
scpu(查看当前电脑cpu)
ll /ect/localtime(对应的时区)
mv(移动)
man(意思是手册,可以敲man bash,可以通过man这个命令进入bash来查看集成在shell中的所有内部命令)
nano(编辑或修改当前文件)
ps aux
pwd(查看夹目录)
ping baiddu.com(查看是否能连接上网络)
poweroff(关机)
runlevel(查看当前在哪种模式下)
reboot(重启)
sudo -i(切换身份,切换成root)
source和. (功能一样,让文件生效)
timedatactl set-(时区更改,输入该命令之后回车,再次输入timedatectl set-timezone XXXX跟国家)
shutdown(重启,功能更强,还可以重启,也可以约定时间关机,shutdown -c取消关机,例如:shutdown +关机时间这里以分钟为单位,或者shutdown 时间)
screen -S 名称 对方电脑输入:screen -ls,两者就可以建立连接,加入会话,对方电脑敲入前者的名称:screen -x 名称(屏幕同步,也叫远程同步,如果要退出按:ctrl+a,同时按,再按d,不要敲exit,这样会把自己也踢出去)
单独输入screen,可以解决终端关闭而不导致终止,可以理解成:后台持续运行不会关闭
sleep (表示休眠多长时间,以秒为单位)
tty(显示当前所在的终端)
type(查看是内部命令还是外部命令,如果是内部命令不会显示路径对应的内部命令单词:builtin)
touch(生成空文件)列子:touch a.txt 回车 ll a.txt 回车 touch `date +%F`.txt
tmux(现在比较流行的应用程序,可以实现多个窗口)
uptime(显示服务器运行时间)
unalias(可以临时取消所有别名,写进文件里的别名可以持久保存)
uname -r(显示内核版本)
who(有哪些人在登录)
whoami或who am i(我是谁) w
which is ls(显示具体路径,更加详细)
whatis(显示一个命令的简短功能,但不会说这个命令怎么用,man -f也是等价的写法)
yum install XXXX(后缀要装的命令,但是必须要连互联网,yum仅支持centos6/7,centos8可以用yum或者dnf)
yes(不断去显示Y的一个命令)
来源:https://www.cnblogs.com/tongsheng/p/12551993.html