一. 什么是Bash shell
Bash shell 是一个命令解释器,主要负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给内核,由内核驱动硬件,最终将处理后的结果输出至Bash shell 屏幕终端。
二.Bash Shell能干什么?
使用Shell实现对linux系统的大部分管理: 1.文件管理 2.权限管理 3.用户管理 4.磁盘管理 5.网络管理 6.软件管理 7.服务管理 8.等等
三.如何使用Bash Shell
单条命令——低效率——适合少量的工作 shell脚本——高效率——适合重复性的工作 例
[root@localhost ~]
for i in {1..100}
do
useradd zhaojie-$i
echo "zhaojie-$i" is create ok..
done
四.Bash Shell提示符
[root@localhost ~]# root:当前登录Shell的用户名称 @localhost:当前系统主机名称 ~:当前所在的工作目录 #:管理员提示符($:普通用户提示符)
五:Bash Shell基础语法
bash shell命令行,为用户提供命令输入,然后将执行的结果返回给用户 命令:command 选项:options 参数:parameters 例:
ls 命令
ls -a 命令+选项
ls -a /home/ 命令+选项+参数
六. Bash Shell基本特性
补全功能tab
1.命令补全:当王金命令时,可以通过tab进行补全 2.目录补全:当需要查找文件目录层级较多时,可以通过tab快速补全,并减少出错 例:
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
if ifcfg ifconfig ifdown ifenslave ifstat ifup
[root@localhost ~]
七.常用快捷键Carl
1.Cart + a:光标跳转至正在输入的命令行行首 2.Cart + e:光标跳转至正在输入的命令行尾部 3.Cart + k:删除从光标到行末的所有字符 4.Cart + u:删除从光标到行首的所有字符 5.Cart + c:终止前台运行的程序 6.Cart + d:在shell中,表示推出当前shell 7.Cart + l:清屏 8.Cart + r:搜索历史命令,利用关键字
八.历史记录History
可用于追溯之前执行过什么命令,造成的故障 1.使用双!!可执行上一条执行过的命令
[root@localhost ~]
[root@localhost etc]
cd /etc/
2.输入!6,执行history命令历史中的第6行命令
[root@localhost etc]
ifconfig
3.使用!cat,调用history命令历史最近一次执行过的cat命令
[root@localhost etc]
cat useradd.sh
cat: useradd.sh: No such file or directory
九.命令别名alias
命令别名将用户经常使用的复杂命令简单化,可以用alias别名名称='命令’创建属于自己的命令别名,若要取消一个命令别名,则是用unalias别名名称 1.定义临时别名,wk为查看ens160网卡别名
[root@localhost ~]
[root@localhost ~]
2.永久生效,/etc/bashrc
[root@localhost etc]
3.如果定义命令本身,执行结果是什么?
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
4.取消别名
[root@localhost ~]
十.帮助手册help
1.命令: --help 帮助
用法: ls [OPTION]... [FILE]...
[root@localhost etc]
2.命令man手册
man ls
3.linux命令大全url传送门 linux命令手册: Linux命令大全
十一.linux文件管理
linux目录结构
命令相关目录/bin
存放命令相关的目录**
/bin: 普通用户使用的命令 /bin/ls,/bin/date
/sbin:管理员使用的命令 /sbin/service
用户家相关目录
存放用户相关数据的家目录
/home: 普通用户的家目录 /home/username,
/root:超级管理员root的家目录,普通用户无权限操作
系统文件目录/usr
存放系统相关文件的目录
/usr 相当于C:\windows
/usr/local 软件安装的目录,相当于C:\Program
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序
/usr/lib 库文件 Glibc 32bit
/usr/lib54 库文件 Glibc 32bit
系统启动目录/boot
存放系统时内核与grub引导菜单
/boot存放的系统启动相关的文件,例:kernel,grub(引导装载程序)
配置文件目录/etc
/etc存放系统配置文件目录,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname 系统主机名配置文件
设备相关目录/dev
/dev存放设备文件的目录,例:硬盘,硬盘分区,光驱…
/dev/null黑洞设备,只进不出。(类似垃圾回收站)
/dev/random生成随机数的设备
/dev/zero能源源不断的产生数据
可变的目录/var
/var,存放一些变化文件,例/var/log下的日志文件 /var/tmp,进程产生的临时文件 /tmp:系统临时目录
虚拟系统目录/proc
虚拟的文件系统(例:对应的进程停止则/proc下对应目录则会被删除)
/proc:反映当前系统正在运行进程的实时状态,类似于汽车的仪表盘
文件路径定位
绝对路径与相对路径
1:绝对路径:只要从/开始的路径,例:[root@localhost ~]# cd /etc/dhcp/ 2:相对路径:相对于当前目录来说,例:[root@localhost etc]# cd ./dhcp/,…/bob/a.mp3,a.txt 3.:.和. .的是什么意思 一个点代表是当前目录 两个点代表的是当前目录的上层目录 小结:所谓(.)和(…)目录实际上属于相对路径的一种表现形式
路径切换命令cd
cd 绝对路径cd /etc/hostname
cd 绝对路径cd test/ab cd . cd ..
*****************************************************
cd
cd .
cd ..
cd -
cd ~
linux基础命令
touch文件创建
touch file
touch file1 file2
touch /home/od/file4 file5
touch file{a,b,c}
touch file{1..3}
touch file{a..c}
mkdir目录创建
选项:-v 显示详细信息
-p 递归创建
mkdir dir1
mkdir /home/ob/dir1 /home/ob/dir2
mkdir -v /home/ob/{dir3,dir4}
mkdir -pv /home/ob/dir5/dir6
mkdir -pv /home/{ob/{diu,but},boy}
tree显示目录结构
选项:-L 显示目录树的层级
tree /home 显示当前目录下的结构
[root@localhost zhaojie]
/tmp/ob
├── but
├── diu
└── zhaojie
└── zzl
4 directories, 0 files
cp 文件或目录复制
选项:
-v 详细显示命令执行的操作
-r 递归处理目录与子目录
-p 保留源文件或目录的属性
cp file /tmp/file_copy
cp name /tmp/name
cp file /tmp/
cp -p file /tmp/file_p
cp -r /etc/ /tmp/
cp -rv /etc/hosts /etc/hostname /tmp
cp -rv /etc/{hosts,hosts.bak}
cp -rv /etc/hosts{,-org}
mv文件移动命令
mv file file1
mv file1 /tmp/
mv /tmp/file1 ./
mv dir/ /tmp/
touch file{1..3}
mv file1 file2 file3 /tmp/
mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /tmp
rm文件或目录删除
选项:
-i:提示是否删除
-r:递归
-f:强制删除
-v:详细过程
******************************************************************************************
rm -i file.txt
rm -f file.txt
******************************************************************************************
rm -r dir/
rm -rf dir/
******************************************************************************************
示例1:
[root@localhost ~]
[root@localhost ~]
[root@localhost dir]
. .. file2 file3 .file4
[root@localhost ~]
[root@localhost dir]
. .. .file4
******************************************************************************************
示例2:
[root@localhost ~]
[root@localhost ~]
[root@localhost bir]
10.pdf 2.pdf 4.pdf 6.pdf 8.pdf file1 file2 file4 file6 file8
1.pdf 3.pdf 5.pdf 7.pdf 9.pdf file10 file3 file5 file7 file9
[root@localhost ~]
[root@localhost bir]
文件查看类命令
cat命令
cat: 查看文件的所有内容(少量的文件)
[root@localhost bir]
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost bir]
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost bir]
root:x:0:0:root:/root:/bin/bash$
bin:x:1:1:bin:/bin:/sbin/nologin$
[root@localhost bir]
zhaojie-8:x:1040:1040::/home/zhaojie-8:/bin/bash
zhaojie-7:x:1039:1039::/home/zhaojie-7:/bin/bash
less与more命令
查看内容较多的文件;
示例:
[root@localhost bir]
******************************************************************************************
[root@localhost bir]
head与tail命令
[root@localhost bir]
[root@localhost bir]
******************************************************************************************
[root@localhost bir]
[root@localhost bir]
[root@localhost bir]
grep过滤数据
grep:过滤文件内容
-v: 取反
-E: 搜索多个条件
-c: count统计
******************************************************************************************
[root@localhost bir]
root:x:0:0:root:/root:/bin/bash
[root@localhost bir]
root:x:0:0:root:/root:/bin/bash
[root@localhost bir]
[root@localhost bir]
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
wget命令
安装命令:[root@localhost bir]
下载文件:[root@localhost bir]
rz与sz命令
rz:上传
sz:下载
安装命令:[root@localhost bir]
rz:只能上传文件,不支持上传文件夹
sz:只能下载文件,不支持下载文件夹
注意: 仅支持文件,不支持目录,同时不支持单个文件超过4g,不支持断电续传
curl命令
[root@localhost bir]
两种下载:
[root@localhost bir]
[root@localhost bir]
字符处理类命令
sort命令
对一个无序的文本文件进行数据的排序
sort [OPTION]... [FILE]...```
选项:
-r:倒序
-n:按数字排序
-t:指定分割符
-k:指定第几列
示例:创建一个文件,写入无规律内容
[root@localhost tmp]
5
2
7
9
4
6
8
1
[root@localhost tmp]
1
2
4
5
6
7
8
9
uniq命令
如果文件中有多行完全相同的内容,希望能删除重复的行,同时还可以统计出完全相同的行出现过的总次数
uniq [OPTION]... [INPUT [OUTPUT]]
选项:
-c 计算重复的行
[root@localhost tmp]
1
a
a
1
5
6
7
3
3
[root@localhost tmp]
1
1
3
3
5
6
7
a
a
[root@localhost tmp]
1
3
5
6
7
a
[root@localhost tmp]
2 1
2 3
1 5
1 6
1 7
2 a
wc命令
wc [OPTION]... [FILE]...
选项:
-l 显示文件行数
-c 显示文件字节
-w 显示文件单词
[root@localhost bir]
63 pass
[root@localhost bir]
扩展:统计文件行号的方法
grep -n ".*" /etc/services | tail -1
cat -n /etc/services | tail -1
awk '{print NR $0}' /etc/services | tail -1
grep+wc: 用到了管道技术; 将前者执行命令的结果,通过管道传递给后者命令的输入;
|