Linux入门基础#1:命令行bash基本操作
Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令、操作传递给操作系统底层
Shell一般分为:图形化Shell(GUI)、命令行Shell(CLI)
CLI: command line interface
GUI: Graphical User Interface
Linux中一般默认GUI为:GNOME,默认CLI为:BASH
BASH提示符以#或$起始,#代表当前用户为root用户,$代表当前用户为普通用户我们可以通过键盘上的Tab按键对命令或文件名进行自动补全
su - 进入root用户模式。
su不切换终端,还在当前目录,su - 切换全新的终端。
如果不知道或忘记密码,sudo passwd root可以直接重新设置root密码。直接passwd是修改密码
输入exit 退出root模式
普通用户用sudo,可以用管理员身份运行
hostname查看主机名
uname显示系统信息, uname -a 所有信息
命令id可以显示当前用户的信息
~代表home目录
Ctrl + C终止当前命令
Ctrl+C:送SIGINT信号,默认进程会结束,但是进程自己可以重定义收到这个信号的行为。
Ctrl+Z:送SIGSTOP信号,进程只是被停止,再送SIGCONT信号,进程继续运行。
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF
1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程。
2、Ctrl+Z是把当前的程序挂起,暂停执行这个程序,比如你正在mysql终端中,需要出来搞点其他的文件操作,又不想退出mysql终端(因为下次还得输入用户名密码进入,挺麻烦),于是可以ctrl+z将mysql挂起,然后进行其他操作,然后输入fg回车后就可以回来,当然可以挂起好多进程到后台,然后fg 加编号就能把挂起的进程返回到前台。当然,配合bg和fg命令进行前后台切换会非常方便。
3、Ctrl+D 是发送一个exit信号,没有那么强烈,类似ctrl+C的操作,比如你从管理员root退回到你的普通用户就可以这么用。
clear:清除终端屏幕
命令由:命令,选项,参数组成
Tab键用来补全文件(夹)名,命令
按方向键“上”或者Ctrl+p,重复上一次命令
BASH会记录我们以往操作的命令,可以通过history命令查看所有历史命令
BASH可以通过以下方式调用历史记录以简化操作:
!! 重复前一个命令
!字符 重复前一个以指定字符开头的命令
!num 按历史记录序号执行命令
!?abc 重复之前包含abc的命令
!-n 重复n个命令之前那个命令
我们可以通过 ctrl + r 来对历史命令记录进行搜索查询
esc . (ESC+点号)上一个命令的参数
命令su可以切换用户
命令passwd可以修改当前用户的密码
通过在命令后追加一个&,可以将该命令放入后台运行。例如:firefox & : 加&表示在后台运行火狐,这样命令行就可以继续使用。CLI是多进程终端
命令通配符:
* : 匹配零个或多个
? : 匹配任意一个字符
[0-9]:匹配一个数字范围
[abc]:匹配列表内的字符
[^abc]:匹配列表以外的字符
通过以下命令可以管理后台作业:
& 在后台运行
jobs 显示后台作业(jobs是对当前终端下的任务进行调度。ps是对当前终端或系统中的进程进行查看管理的。ps要底层一些。)
fg 将后台作业调到前台执行 ; fg = foreground`
bg(+进程序号) 继续执行一个后台作业 bg = background
例如上买你进程2是sleep 5000已经停止了,那么bg 2可回复它继续进行