Linux-02-Bash Shell,基础语法、特性、文件管理(目录结构,路径定位)

一、什么是Bash Shell

命令的解释,用来翻译用户输入的指令

二、Bash Shell 能做什么?

文件管理
软件管理
用户管理
权限管理
网络管理
........

三、平时怎么使用Bash Shell?

单条命令:
	useradd gdx
	
脚本:
[root@oldboy-pythonedu ~]# cat useradd.sh 
#!/usr/bin/bash

for i in {1..100}
do
	useradd gdx_$i
	echo "gdx_$i is ok!!"
done

四、登录Linux Bash提示符

[root@oldboy-pythonedu ~]#
	
	root: 表示当前登录Bash Shell窗口的用户是..
	oldboy-python: 当前系统的主机名称
	~: 当前用户所处的路径   ~ 表示的是当前用户的家目录
	#:  提示符  # 表示超级管理员
			   $ 表示普通用户

五、Bash Shell 基础语法?

命令  选项  参数

ls				# 命令     			查看当前目录下的所有文件
ls -l			# 命令 + 选项 		
					选项 可以改变命令输出结尾呈现的方式
ls -l /tmp		# 命令 + 选项 + 参数  	具体看哪个路径下的所有文件,默认看当前目录.

ls  打针  -l 轻 | 重   /tmp  往哪打

六、Bash Shell 特性?

1.tab补全:
命令补全
路径补全
2.history: 执行的命令历史
-c:   清空
-d:   删除指定的一条记录
-w:   将历史记录落到指定的文件中
3.alias: 别名
# 临时操作
alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32'

# 永久生效  ( 落到某个文件中 )  
[root@oldboy-pythonedu ~]# echo "alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32'" >> /etc/bashrc 
4.unalias: 临时取消别名
[root@oldboy-pythonedu ~]# unalias cat_network
5.快捷键:
ctrl+ a,e,c,l,d,w,k,u,r

ctrl+a:  命令行光标跳转到行首
ctrl+e:  命令行光标跳转到行尾
ctrl+l:  清屏, clear
ctrl+c:  中断bash窗口 前台正在运行的程序
ctrl+u:  删除光标之前的
ctrl+k:	 删除光标之后的
ctrl+w:  按照单词删除
ctrl+ <--> 按照单词跳转光标

七、文件管理

对文件做什么事情?  创建 删除 压缩 移动 复制 编辑 查看 查找
修改一个主机名称的文件: 在哪?
1.目录结构:
Windows:  多根    c:\  d:\  e:\
Linux:    单根    /

bin:	普通用户可以执行的命令
sbin:   管理用户可以执行的命令
home:   普通用户的家目录:  /home/USERNAME 
root:   管理员用户的家目录
boot:   存放的启动系统时要加载的文件    grub引导菜单,内核文件
dev:    设备 ( 硬盘 光盘 终端 )
	/dev/random: 产生随机数   ( 摇钱树)
	/dev/null:  黑洞
	
etc:    配置  网卡配置,系统配置,服务配置
	/etc/hostname    主机名称
	/etc/sysconfig/network-scripts/   #网卡的配置信息
lib  
lib64
proc	实时反馈当前系统的状态. [ 汽车的仪表盘 ]
tmp		临时目录,谁上传只能谁删除   [  ]    
usr  	
	bin
	sbin
	local  --> C:\Program Files
	tmp    ---> /var/tmp
var		可变的目录  
	log
	pid:  存放服务进程的ID    --->  python   ---> 30119  -->  /var/pid/python.pid  ( 30119 )
2.路径定位:
通过路径对文件进行定位.  一个完整的路径,就包含了文件的路径.

八、基础命令

1.在/home下创建一个hello.py文件.

touch:

[root@oldboy-pythonedu ~]# touch /home/hello.py
[root@oldboy-pythonedu ~]# ls -l /home/hello.py 
-rw-r--r--. 1 root root 0 9月  25 11:48 /home/hello.py

2.将/home/hello.py 复制到 /tmp [ 最好能修改一下名称为 /tmp/test.py ]

cp: 复制文件或者目录

	-v:  显示拷贝的结果.
	-r:  递归拷贝
	-i:  会在复制文件的时候给提示 如果复制的目标文件存在 会给你提示是否要覆盖
	[root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/				#直接拷贝
	[root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/test.py		#拷贝后修改名称

3.将/home/hello.py 文件删除

rm: 删除文件或者目录

	-f: 强制删除,不提示
	-r: 递归删除 [ 删除目录 ]
	[root@oldboy-pythonedu ~]# rm -f /home/hello.py
	[root@oldboy-pythonedu ~]# rm -fr /tmp/etc

4.查看 /tmp/test.py 中的内容

cat head tail more less

cat: 查看文件内容:
	-A: 查看是否有特殊字符
	-n: 查看文件的行号
[root@oldboy-pythonedu ~]# cat /tmp/hello.py

head: 查看文件内容: 仅查看头部10行.
[root@oldboy-pythonedu ~]# head /etc/passwd
[root@oldboy-pythonedu ~]# head -1 /etc/passwd

tail: 查看文件内容: 仅查看尾部10行.
	-f: 实时追踪文件尾部的变化
	
[root@oldboy-pythonedu ~]# tail -f /var/log/messages

less\more 分页查看
[root@oldboy-pythonedu ~]# less /etc/services
[root@oldboy-pythonedu ~]# more /etc/services

5.将/tmp/hello.py 拷贝到 /opt/python_dir/hello.py

mkdir #创建目录

	-p:  递归创建
	-v:  显示创建的过程
[root@oldboy-pythonedu ~]# mkdir /opt/python_dir
[root@oldboy-pythonedu ~]# mkdir -pv /opt/dir1/dir2/dir3/dir4

6.将/tmp/hello.py 移动到/opt目录下

mv: 移动文件或目录

[root@oldboy-pythonedu ~]# mv /tmp/hello.py /opt/

7.命令的全路径???怎么查找

which #查找一个命令的绝对路径

[root@oldboy-pythonedu ~]# which cat
/usr/bin/cat
[root@oldboy-pythonedu ~]# which head
/usr/bin/head

whereis
[root@oldboy-pythonedu ~]# whereis -b head
head: /usr/bin/head

8.下载和上传

	下载:
		1.从互联网下载资源到服务器
		2.从服务器下载资源到本地
	上传:rz
		从本地上传内容到服务器

rz 从本地电脑上传文件到server ( 只能上传文件,不能上传目录或文件夹, 最大限制4G )
sz 从server下载文件到本地电脑

[root@oldboy-pythonedu ~]# yum install lrzsz -y

wget 获取互联网上的资源至本地

yum install wget -y
yum -y install wegt
wget http://nginx.org/download/nginx-1.16.1.tar.gz
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

猜你喜欢

转载自blog.csdn.net/qq_45957580/article/details/108987170