目录
BashShell
1.什么是BeshShell?
命令的解释,用来翻译用户输入的指令
2.BashShell能做什么?
文件管理
软件管理
用户管理
权限管理
网络管理
3.如何使用BashShell?
在使用BashShell时,要分为单条命令和多条命令
单条命令
[root@oldboy-pythonedu ~]# useradd gdx
多条命令
for i in {1..100} do useradd gdx_$i echo "gdx_$i is ok!!" done
4.登录Linux Bash的提示符
[root@oldboy-pythonedu ~]#
root: 表示当前登录Bash Shell窗口的用户是root
oldboy-python: 当前系统的主机名称
~: 当前用户所处的路径 ~ 表示的是当前用户的家目录
#: 提示符 # 表示超级管理员
$ 表示普通用户
5.BashShell基础语法
ls # 命令 查看当前目录下的所有文件 ls -l # 命令 + 选项 选项 可以改变命令输出结尾呈现的方式 ls -l /tmp # 命令 + 选项 + 参数 具体看哪个路径下的所有文件,默认看当前目录.
6.BashShell特性
# 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: 命令行光标跳转到行首 ctrl+e: 命令行光标跳转到行尾 ctrl+l: 清屏, clear ctrl+c: 中断bash窗口 前台正在运行的程序 ctrl+u: 删除光标之前的 ctrl+k: 删除光标之后的 ctrl+w: 按照单词删除 ctrl+ <--> 按照单词跳转光标
Linux文件管理
0.引入
我们可以对文件进行哪些操作呢?
创建 删除 压缩 移动 复制 编辑 查看 查找
1.目录结构
Windows目录结构:多根 C: D: E:
Linux目录结构:单根 /
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.路径定位
通过路径对文件进行定位. 一个完整的路径,就包含了文件的路径.
3.文件管理命令
文件管理命令总览
''' cd pwd ls -l, mkdir -p touch cp -r mv rm -r -f cat -n -A head tail -f less more rz sz wget -O echo '''
文件管理命令详细介绍
1.在/home/下创建一个hello.py文件 touch
[root@oldboy-pythonedu ~]# touch /home/hello.py
2.查看创建的hello.py详情参数 ls
[root@oldboy-pythonedu ~]# ls -l /home/hello.py
3.复制 cp
将/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 #拷贝后修改名称
4.将/home/hello.py 文件删除 rm
rm:删除文件或者目录
-f:强制删除,不提示
-r:递归删除【删除目录】
[root@oldboy-pythonedu ~]# rm -f /home/hello.py [root@oldboy-pythonedu ~]# rm -fr /tmp/etc
5.查看/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 ''' 查看1行 ''' [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
6.创建目录 mkdir
mkdir:创建目录
-p:递归创建
-v:显示创建的过程
[root@oldboy-pythonedu ~]# mkdir /opt/python_dir [root@oldboy-pythonedu ~]# mkdir -pv /opt/dir1/dir2/dir3/dir4
7.移动 mv
将/tmp/hello.py 移动到/opt目录下
mv:移动文件或目录
[root@oldboy-pythonedu ~]# mv /tmp/hello.py /opt/
8.查找命令的全路径 which
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'''
Linux文件下载和上传
下载:
1.从互联网下载资源到服务器
2.从服务器下载资源到本地
上传:
从本地上传内容到服务器
rz:从本地电脑上传文件到server( 只能上传文件,不能上传目录或文件夹,最大限制4G )
sz:从server下载文件到本地电脑
想要完成linux的上传和下载,必须先下载一个模块
[root@oldboy-pythonedu ~]# yum install lrzsz -y
wget:获取互联网上的资源至本地
想使用这个功能,也需要先下载一个模块
[root@oldboy-pythonedu ~]# yum install wget -y
获取互联网上的资源至本地
[root@oldboy-pythonedu ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz [root@oldboy-pythonedu ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
Linux相关练习题
# 4.如何快速从当前目录切换到家目录? cd cd ~ cd /root # root用户 cd /home/USERNAME # 普通用户 # 5.如何快速返回上一次所在的目录? cd - # 6.在家目录下创建一个名为oldboy的目录,然后进入该目录 cd mkdir oldboy cd oldboy/ # 7.在oldboy目录下进入根目录下的etc目录下的yum.repos.d目录 cd /etc/yum.repos.d/ # 8.在当前所在的yum.repos.d目录快速返回到当前目录的上级目录(根目录下的etc目录) cd .. #上级目录 cd . #当前目录 # 9.在oldboy下创建一个名为student.txt的文件 [root@oldboy-pythonedu yum.repos.d]# cd ~/oldboy/ [root@oldboy-pythonedu oldboy]# pwd /root/oldboy [root@oldboy-pythonedu oldboy]# touch student.txt # 10.在家目录下创建oldboy目录下名为oldboyedu的目录,然后将先前创建的名为student.txt的文件复制到家目录下 [root@oldboy-pythonedu oldboy]# mkdir oldboyedu [root@oldboy-pythonedu oldboy]# ls oldboyedu [root@oldboy-pythonedu oldboy]# touch student.txt [root@oldboy-pythonedu oldboy]# cp student.txt ~ [root@oldboy-pythonedu oldboy]# ls /root/ student.txt # 11.在家目录下创建一个名为job的目录,并将先前创建的名为oldboy目录及目录下的文件一次性复制到job目录下 [root@oldboy-pythonedu oldboy]# cd .. [root@oldboy-pythonedu ~]# mkdir job [root@oldboy-pythonedu ~]# cp -r oldboy/ job/ # 12.将根目录etc下的resolv.conf和hosts文件一次性复制到job目录下 [root@oldboy-pythonedu ~]# cp /etc/resolv.conf /etc/hosts ~/job/ # 13.返回到家目录,删除家目录下oldboy目录及该目录下的所有文件 [root@oldboy-pythonedu ~]# rm -rf ./oldboy/ # 14.查看根目录下etc下passwd文件所有内容 cat /etc/passwd # 15.分页查看passwd的所有内容 less /etc/passwd more /etc/passwd # 16.只查看passwd文件头部5行内容 head -5 /etc/passwd # 17.只查看passwd文件尾部5行内容 tail -5 /etc/passwd # 18.在根目录“/”下用ls查看根目录下的所有目录,并解释每个目录对应的作用 /boot # 启动时需要加载的grub菜单,内核文件 /etc # 配置文件的目录 /usr/ # C:Program Files /usr/local /usr/bin # 普通用户执行的命令 /usr/sbin # 管理管理员执行的命令 /bin # 链接关系 /sbin # /tmp # 临时目录 任何用户都可以写 /var # 日志目录 会随着时间的推移发生变化 /root # 超级管理员root的家目录 /home # 普通用户的家目录 /home/USERNAME /proc # 实时反馈当前系统的状态, 命令获取状态. # 20.如何检查当前系统登录终端,以及登录的是什么用户 tty [root@oldboy-pythonedu ~]# whoami root [root@oldboy-pythonedu ~]# cat /tmp/test.sh Login=$(whoami) if [ $Login != root ];then echo "请使用root执行脚本" exit fi echo "欢迎使用超级管理员权限" # 23.列出至少10个你学会的linux基础命令 mkdir touch cp mv cat cd pwd rm ls vi head tail lessmore # 24.使用创建文件的命令一次性批量创建(oldboy1,oldboy2,oldboy3,oldboy4,oldboy5)这几个文件 mkdir -v oldboy{7..10} # 26.解释linux系统下“绝对路径”和“相对路径”的区别 绝对: 必须从/开始的 相对: 相对于当前 # 27.在windows电脑桌面新建一个名为1.txt的文件,并想办法上传到linux系统的家目录 rz