1.取得路径的文件名和路径名称
basename
dirname
2.指令和档案的搜寻
which寻找执行档():which 【-a】 command
which 是从用户设定的PATH变量中的目录内去搜寻可执行文件,-a可以搜寻出所有同名的执行档,而不仅仅是第一个被搜寻出来的。
bash的内建指令用: type
档案名或者目录名:find (速度较慢)// whereis 或者locate(数据库中寻找)
3.变量
需求原因:
变量的可变性和方便性,不同的登陆者可以以不同的名字来命名
脚本程序设计的方便,对全局性变量的修改
变量用法:
****环境变量是在用户登录到shell之前就已经有的,系统用它来提取信息,配置环境
取用:echo,
设置为环境变量:export
PATH=$PATH:your own path
PATH="$PATH":your own path
PATH=${PATH}:your own path
****name = "wanghan"
****name = $nameyes或者${name}yes
【】在bash内重新开启的bash,视为子程序,父程序中的自定义的变量是无法在子程序内使用
通过在export 将其变成环境变量即可
【】目前的shell中有多少的环境变量用:export(还有额外功能) 和 env查看
set: 可以观察所有变量,含环境变量和自定义变量(PS1提示bash环境的字符)
4.Linux中工作排程
【】例行性(每隔一个周期就会发生)cron
【】突发性(一次发生完后就没有了)at
at:需要atd服务的支持
|
crontab:可以用指令执行crontab 或者 编辑/etc/crontab(针对系统服务)
anacron处理非24小时开机的系统,侦测停机过程中没有进行的crontab任务,完成一遍后就自动停止
5.别名的命名和取消
type 自定义命令名 ,查看自定义命令名是否被系统占用
alias loo='cd /root;ls;cd /'
通过这种方式设置的别名命令只对当前登录环境下有效,退出后重新登录就无效了
【】 长期有效的方式:用户只需要修改 ~/.bashrc文件, 加入你要设置的别名命令即可,执行source .bashrc 使配置生效
6.去掉文件由Windows转换至Linux中出现^M的问题
对此的解决办法就是通过字符替换,将^M换掉,具体方法如下:
利用vim打开文件,然后输入vim 命令 %s/^M$//g,进行全文件查找替换。
注意:^ 使用ctrl+v 来输入,M使用ctrl+m来输入
7.Grep 的命令用法
https://blog.csdn.net/rockstar541/article/details/79174906
8.Awk 的命令用法
- 格式1:前置命令 | awk [选项] '[条件]{指令}'
- 格式2 : awk [选项] '[条件]{指令}' 文件
https://blog.csdn.net/qq_23587541/article/details/81392170
https://blog.csdn.net/weixin_42182501/article/details/88371494
9.查看当前登录系统的用户以及进程
who w users last...
https://blog.csdn.net/weixin_34040079/article/details/89868726
查看所有用户:cat /etc/passwd gatent passwd
10.连接WiFi
sudo iwlist wlan0 scan列出所有可连接wifi
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
在文件的底部添加下面内容:
network={
ssid="Your_wifi_ssif"
psk="Your_wifi_password"
}
ifconfig wlan0 down
ifconfig wlan0 up
11. find查找文件与exec的配合使用
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿 {},一个空格和一个\,最后是一个分号; cmd {} \;
pi@ubuntu:~$ find . -name '[0-9]\.txt' -exec rm {} \;
vi auto-del-7-days-ago-log.sh 编辑auto-del-7-days-ago-log.sh文件如下: #!/bin/sh find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \; ok,保存退出(:wq)。 解析: find 后面紧跟的是要查找的目录,. 表示当前目录 -type f:指定查找对象为文件 -name *.log:指定查找对象名称以.log结尾 -mtime +7: 查找7天以前的老文件 -exec rm {} \; :执行删除命令, 加入定时任务 #crontab -e 将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行 输入: 10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1 |
12. sed 命令用法
sed命令的选项(option):
-n :只打印模式匹配的行
-e :直接在命令行模式上进行sed动作编辑,此为默认选项
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-r :支持扩展表达式
-i :直接修改文件内容
sed在文件中查询文本的方式:
使用行号,可以是一个简单数字,或是一个行号范围
x | x为行号 |
x,y | 表示行号从x到y |
/pattern | 查询包含模式的行 |
/pattern /pattern | 查询包含两个模式的行 |
pattern/,x | 在给定行号上查询包含模式的行 |
x,/pattern/ | 通过行号和模式查询匹配的行 |
x,y! | 查询不包含指定行号x和y的行 |