linux基础_02

1.什么是Bash shell(壳)

BashShell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。
当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等...

2.Bash Shell能干什么?
使用Shell实现对Linux系统的大部分管理,例如:
1.文件管理
2.权限管理
3.用户管理
4.磁盘管理
5.网络管理
6.软件管理
.等等.

3. Bash shell执行方式
输入命令方式 --->效率低--->适合少量的工作
shell script --->效率高--->适合复杂的工作

4.了解
Bash ---> GNU/Bash
[root@www ~]# bash -version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)

Bash是默认的shell,其实上还有很多其他的shell


5.shell提示符
$ = 普通用户, # = root用户(超级管理员)
[root@xuliangwei ~]# whoami
root

[root@beua ~]# echo $PS1
[u@h W]$
root: 当前登录系统的用户
www: 当前系统的主机名称
~: 当前所在的位置
#: 通常情况下,是超级管理员的身份
$: 只要是普通用户,则为$符号

[oldboy1@beua ~]$


命令行bash shell, 为用户提供输入, 执行命令的界面

#命令 选项 参数
command [-options] [arguments]

[root@beua ~]# ls #命令
[root@beua ~]# ls -a #命令+选项
[root@beua ~]# ls -a /home/ #命令+选项+参数

#命令: 整条shell命令的主体
#选项: 用于调节命令的具体功能
#以 “-”引导短格式选项(单个字符),例如“-a”
#以“--”引导长格式选项(多个字符),例如“--all”
#多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
#参数: 命令操作的对象,如文件、目录名等

PS: 选项和参数在有些命令的时候时,位置可以发生变化.
PS: 命令必须开头, 选项和参数位置可以发生变化

[root@beua ~]# ls-a
bash: ls-a: command not found... 找不到命令(要么命令写错了,要么就真的没有该命令)

[root@beua ~]# ls /.bashrc
ls: cannot access /.bashrc: No such file or directory 没有这个文件或目录

PS:相信电脑,永远不要相信自己


bash shell特性

1.tab键补全支持
命令补全 选项补全 参数补全
在实际生产中tab补全往往是我们使用的最多的, 因为可以减少执行命令以及路径出错率。


命令补全: 按一下tab键没有任何反应,因为以user开头的命令有很多,系统并不知道你需要使用哪一个
[root@beua ~]# user
useradd userdel userhelper usermod usernetctl users


路径补全:

beua
2.bash shell常用的快捷键
ctrl +a 跳转光标至本行的首部
ctrl +e 跳转光标至本行的尾部
ctrl +u 删除从光标到行首的所有字符
ctrl +k 删除从光标到行末的所有字符
ctrl +l 清屏,还可以使用clear命令
ctrl +c 终止当前的任务
ctrl +d 退出服务器, 还可以使用logout或exit
ctrl +w 按空格删除光标之前的内容
ctrl +z 将当前的任务挂起
ctrl +r 搜索命令,
ctrl +s 锁住屏幕,解锁ctrl+c [忽略]
ctrl + 左右方向键 按照单词快速的跳转光标, Xshell工具提供的
#号符: 注释(代表不执行)

3.历史记录history
history 命令直接查看当前的shell所执行过的命令
!100 调用history历史命令中编号为100
!! 执行上一次执行过的指令

选项
-w 保存命令历史到历史文件 write #写入到当前用户的家目录下.bash_history
-c 清空命令历史记录, 不会情况文件 clear
-d 删除命令历史的第 N 条行 delete
Ecs + . 获取上一个命令的参数


4.命令别名alias

1.如何设定别名
alias oldboy=ping www.baidu.com

2.如何取消别名
unalias oldboy

3.为什么系统默认存在一些别名:
防止在执行危险指令时,发生误操作的情况,比如:
alias rm='rm -i'

PS: 当前的别名全部都是针对当前的Shell生效,临时生效.
4.永久生效{扩展}
将内容写入到 /etc/bashrc 所有的shell都生效


5.命令帮助--help man

[root@beua ~]# ls --help
用法:ls [选项]... [文件]...

#ls 常见选项
-a #查看目录下的所有文件,包括隐藏文件
-l #以长格式的方式显示文件的详细内容
-h #以人性化的方式显示内容,配合-l使用
-d #只列出目录名,不列出目录以下的内容
-t #按修改时间进行排序
-i #显示文件的inode(该文件在该分区的一个编号)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 习题:

1.超级用户(管理员用户)提示符是__#__,普通用户提示符是__$_。


2.linux关机重启的命令有哪些 ?
linux关机命令 shutdown
shutdown -h 10 #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕

shutdown -h now #计算机会立刻关机
shutdown -h 22:22 #计算机会在这个时刻关机
shutdown -r now #计算机会立刻重启
shutdown -r +10 #计算机会将于10分钟后重启
reboot #重启
init 0 #关机
halt #关机
linux重启命令 reboot

3.如何查看当前所在的目录?
[root@beua ~]# ls
anaconda-ks.cfg


4.如何快速从当前目录切换到家目录?
cd
cd ~
cd /root


5.如何快速返回上一次所在的目录?
cd ..

cd -


6.在家目录下创建一个名为oldboy的目录,然后进入该目录
[root@beua ~]# mkdir oldboy;cd oldboy


7.在oldboy目录下进入根目录下的etc目录下的yum.repos.d目录
[root@beua ~]# cd /oldboy
[root@beua oldboy]# cd /etc/yum.repos.d/
[root@beua yum.repos.d]#


8.在当前所在的yum.repos.d目录快速返回到当前目录的上级目录(根目录下的etc目录)
[root@beua yum.repos.d]# cd ..
[root@beua etc]#


9.在oldboy下创建一个名为student.txt的文件
[root@beua ~]# cd /oldboy;touch student.txt

10.在家目录下创建oldboy目录下名为oldboyedu的目录,然后将先前创建的名为
student.txt的文件复制到家目录下
[root@beua ~]# mkdir -p /oldboy/oldboyedu
[root@beua ~]# cd ../oldboy
[root@beua oldboy]# ls
oldboyedu student.txt
[root@beua ~]# cp /oldboy/student.txt /home


11.在家目录下创建一个名为job的目录,并将先前创建的名为oldboy目录及目录下的文件
一次性复制到job目
[root@beua ~]#mkdir jobo
[root@beua ~]# cp -r oldboy/. job


12.将根目录etc下的resolv.conf和hosts文件一次性复制到job目录下
[root@beua etc]# echo /etc/resolve.conf /etc/hosts | xargs -n 1 cp -v /job
‘/job’ -> ‘/etc/resolve.conf’
‘/job’ -> ‘/etc/hosts’


13.返回到家目录,删除家目录下oldboy目录及该目录下的所有文件
[root@beua etc]# cd
[root@beua ~]# rm -rf oldboy


14.查看根目录下etc下passwd文件所有内容
[root@beua etc]# cat /etc/passwd

 

15.分页查看passwd的所有内容
[root@beua etc]# more /etc/passwd


16.只查看passwd文件头部5行内容
[root@beua ~]# head -5 /etc/passwd


17.只查看passwd文件尾部5行内容
[root@beua ~]# tail -5 /etc/passwd



 

 

 

 

 

 

原文地址:https://www.cnblogs.com/longren/p/10725772.html