Linux常用(易忽略)命令

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服务的支持

 

at now + 5 minutes <==记得单位要加 s 喔!
at> /bin/mail root -s "testing at job" < /root/.bashrc
at> <EOT> <==这里输入 [ctrl] + d 就会出现 <EOF> 癿字样!代表结束!
job 4 at 2009-03-14 15:38
# 上面这行信息在说明,第 4 个 at 工作将在 2009/03/14 癿 15:38 迚行!

 

先找寻 /etc/at.allow 这个档案,写在这个档案中的使用者才能使用 at
如果 /etc/at.allow 不存在,就寻找 /etc/at.deny 这个档案,若写在这个 at.deny 的使用者则不能使用 at
如果两个档案都不存在,那么只有 root 可以使用 at 这个命令
建议你最好使用绝对路径来下达你命令,比较不会有问题喔!由于命令下达与 PATH 变量有关, 同时与当时的工
作目录也有关连 (如果有牵涉到档案的话)

at 有背景执行功能,远程连接系统后,可以独立于bash环境,直接交给系统的atd程序接管

atq  查询主机中有多少at工作排程

atrm number 根据查询到的工作号,删除对应任务

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的行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值