bash

bash解释器特性

1 命令和文件自动补全 注意:Tab只能补全命令和文件

1
[root@localhost aaa]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

2快捷键

^c 终止前台运行的程序
^d 退出 等价exit
^l 清屏 等价clear
^a 光标移至最前
^e 光标移至最后
Alt+. 取前一条命令的最后一个参数 等价!$

3历史命令

查看

1
[root@aaa aaa]#history

清空

1
[root@aaa aaa]#history -c

历史命令保存文件

1
cat ~/.bash.history

别名

alias xxx=‘cat /etc/sysconfig/network-scripts/ifcfg-ens33’查看网卡
运行xxx(甚至会自动补全)

另附所有别名

如何取消别名

首先,查看命令的完整路径 再以完整路径的方式运行

1
which ls 

再者,就是使用转义字符‘'取消掉别名 例如

1
\ls /boot/

然后,就是unalias

1
unalias ls

命令查找优先级:

bash,shell查找命令顺序:

=以路径(绝对路径,相对路径)开始命令,例如:

1
2
3
/bin/ls
cd /bin
./ls

=alias(别名)
=Compound Commands(复合命令)

以简单的for循环为例

1
for((i=1;i<=3;i++))do echo 123; done

=function(函数)

1
2
function xxx(){ echo 123;echo 456; }
xxx

=build_in(内置),如cd,kill,pwd,alias,echo等,可以用“type -a 命令”查看

=hash(哈希)

=$PATH(环境变量),查看环境变量echo $PATH,

查看帮助信息

1、man手册

1
2
3
4
5
6
7
8
9
10
11
//1、简单使用
man 命令
//2、详解如下
man 手册名,例如man ls
搜索:/-h n N
技巧一:按章节来查找,常用的是1(命令用法),5(文本规范),8(系统管理命令)
/usr/bin/passwd #命令,修改用户密码 man 1 passwd
/etc/passwd #保存用户信息的文件 man 5 passwd
/etc/exports #man exports man 5 exports
技巧二:按关键字检索(适合记不住手册)
man -k "_selinux"

常用命令

设置主机名

1
2
3
4
wuwei@master007:~$ hostname
master007
wuwei@master007:~$ vim /etc/hostname #进入后 “IP XXX”
wuwei@master007:~$ hostnamectl set-hostname xxx

设置时间

1
2
3
4
5
6
7
8
9
wuwei@master007:~$ date
2024年 11月 01日 星期五 09:55:00 CST
wuwei@master007:~$ date "+%Y-%m-%d %H:%M:%S"
2024-11-01 09:55:00
wuwei@master007:~$ date -set "2000-11-12 13:14:15"
2000年 11月 12日 星期一 13:14:15 CST#目前此处为系统时间
wuwei@master007:~$ hwclock #硬件时间,会多加8h(时区问题)
wuwei@master007:~$ hwclock -w #硬件时间写入系统时间
wuwei@master007:~$ hwclock -s #系统时间写入硬件时间

关机

1
2
3
4
init 0
poweroff
shutdown -h now
halt

文件处理

1、目录结构(文件夹、文件)
1
2
3
4
5
6
7
8
9
/dev/null #黑洞文件
/dev/cdrom #光盘文件
/etc/hostname #主机名配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 #网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/resolv.conf #指定远程DNS的地址
/etc/hosts #本机的域名解析文件
cd #切换文件夹
pwd #查看当前目录

文件的时间

1
2
3
4
5
ls -l 文件名 #仅看的是文件的修改时间
Linux文件有三种时间,用stat查看,例如:stat anaconda-ks.cfg
访问时间: atime,查看内容,用cat检测
修改时间: mtime,修改内容
改变时间: ctime,修改内容,修改权限等属性,凡是有改动都会变

文件的扩展名

1
2
3
4
5
6
7
8
9
10
11
12
13
Linux文件没有扩展名
//方法一:
ls -l 文件名 //看第一个字符
- 普通文件(文本文件,二进制,压缩文件,电影,图片...),例如:/bin/ls
d 目录文件(蓝色),例如/home/
b 设备文件(块设备)存储设备硬盘,U盘,例如:/dev/sda
c 设备文件(字符设备)打印机,例如:终端/dev/tty1
s 套接字文件,例如:/run/rpcbind.sock
p 管道文件,例如:/run/systemd/initctl/fifo
l 链接文件(淡蓝色),例如:/bin
ps:通过颜色判断文件的类型是错误的!!!
//方法二:
[root@xxx ~]# file /etc/grub.conf
2、路径
3、文件处理