一些shell总结 1

复杂shell 用python

$(xxx) `` 是取结果的值 (fish)

${} or $xx 取声明了的变量的值

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

if [ $? -eq 0 ]; then shell对空格比较敏感 [  ]都要有空格 
  xxxx
else
   xxxx
    exit 1
fi
 

#!/bin/bash  
for i in $(seq 1 10)  
do   
echo $(expr $i \* 3 + 1);  
done

-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真

 

-eq等于
-ne不等于
-gt大于
-lt小于
ge大于等于
le小于等于

 

linux 杀死进程 ps -aux | grep xxx kill

或者pkill xxx 更直接 pgrep 

linux 按住 super 键 + 鼠标可移动位置 或者 alt+F7

对每行文件内容操作 主要是 | while read line

cat ~/profile | while read line
do
sleep 3s
echo $line
done

 

shell 脚本退出状态 0 正常 1 错误

1、定义变量时不加$,使用时要加$,用以区别字符串,变量名用{}括来是个好习惯,shell会将花括号里面的字符解释为一个整体,后面将数组的时候会体现。即 $xx ${xxx}

2、不要在等号两边加上空格,否则将会报错! shell对空格敏感

apt -f install  install deb 时修复安装

 

awk '{print $2}' 打印第二个字段 

shell \ / 转义字符

ctrl ;显示最近历史粘贴命令 其实是fcitx自带的历史粘贴板 ,可以调节数量和皮肤

alt+F2可直接执行命令

 

ls

文件类型 rwx rwx rwx 

r 4 w 2 x 1

user group other

chmod -R 700  -R递归

 

locate 比find 快使用简单

locate自己的索引库 每天更新一次crontab ,最近最新的不会出现

可以手动sudo updatedb更新,  /var/cache/locate

fish alt left right path前进 后退

 

ps -aux | grep guake | awk '{print $2}' awk ‘{print $2}’ 方便查进程号 第几列

利用awk 对列的操作可以 轻易的操作,比如删除 此文件夹下的隐藏文件

rm -rf  `ls -dl .* | grep '^-'  | awk '{print $9}'`

只列出隐藏文件包括文件 目录 ls -dl .* 

只列出 文件 ls -al | grep '^-' 匹配以-开头

只列出 目录 ls -al | grep '^d' 匹配以 d开头

 

ssh远程执行命令

#! /bin/bash
for i in 1 2 3 for循环的多种样式 
do
    ssh root@mini0$i "source /etc/profile;/opt/zookeeper-3.4.11/bin/zkServer.sh start"  需要将待执行命令加入到

引号中,此脚本为开启zk 因为ssh 不会source /etc/profile 所以还需要source  默认开机会自动读取 profile 
done
 

pkill 相当与 kill -9 grep 模糊杀死进程  pgrep 模糊查找进程

猜想内部是利用的pgrep= ps -aux | grep xxx | awk '{print $2}'

 

grep -v 反向 

grep -i 忽略大小写

 

shell 双引号里面套单引号

awk '{print $2}'

 

cut -d , -f 1  d分隔符 f第几个

uniq去除重复行

 

终端中 alt d删除后一个单词

alt backspace 删除前一个单词

 

ctrl m 显示菜单栏menu ctrl h hide 显示隐藏文件

ctrl 选择几个不同的文件 

fish ls - tab 会提示每个参数

pwd | xsel  会直接将路径名复制到粘贴板上方便快捷

升级版 直接获取文件名和路径名封装成脚本放到$PATH中

echo (pwd)/fileName | xsel 

echo `pwd`/fileName | xsel

echo $(pwd)/fileName | xsel

fcitx 历史粘贴板 ctrl ;

vim ctrl o i历史上次下次

 

gnome3移动窗口 

1 super+鼠标

2 shift+F7

3 最上顶部栏

 

shell 一次读文件的一行

cat xxx | while read line

do

echo $line

sleep 2

done

查看发行版  cat /etc/issue

 

 chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。

 

 sudo chown -R root file

 

date -s 17:01:00 设置时间 

 

 /media/user/u 盘 

 

linux万一图形界面崩了,可以从终端进入,ctrl alt F3 返回F1

 

cat /etc/profile | awk -F: '{print $2}' 根据:分割取第二个 可以替代 cut -d 分割副 -f fields

awk 默认按照空格分割

 

for f in `ls`; do echo $f | cut -d . -f 2; done 取那个名字 而不是那个文件

 

`ls` $(ls)  (ls)  bash fish 取返回结果

grep -v 反转

grep -i 忽略大小写

xargs

uniq

 awk -F '_|-' '{print $6}'   awk 指定多个分割符

 

lvdisplay 查看逻辑卷 centos 查看未挂载的磁盘 挂载 mount xxx /exist  指定的目录必须存在

 

自动登录

1 cookie 如百度云网页版 到配置目录中将cookie搞下来 复杂的验证码短信等

2 selenium 模拟登录如 网易企业邮箱 简单的只需模拟点击即可

#! /opt/anaconda3/bin/python3
from selenium import webdriver
# 去掉 头部的auto info 最新版采用的是options
options = webdriver.ChromeOptions()
options.add_argument("--disable-infobars")
driver = webdriver.Chrome(options=options)
driver.get("https://qiye.163.com/login/")

driver.find_element_by_id('accname').send_keys("")
driver.find_element_by_id('accpwd').send_keys("")

driver.find_element_by_xpath('//*[@id="loginForm"]/div[4]/button').click()

 

linux 下视频格式转换 ffmpeg -i input.flv output.mp4

ffmpeng 还可用作视频截取

rpm <-> deb 

sudo alien xxx.rpm or xx.deb

 

按照指定分隔符且切分,并统计个数 

head -1 csv | awk -F "," '{print NF}' NF 个数 -F 大写F

或者用py len(a.split(","))

 

locate sudo updatedb  /var/cache/locate/

 

/etc/sudoers  username ALL=NOPASSWD:ALL

 

init 6优雅重启 reboot 强制重启

 

yy复制当前页url到粘贴板

yt 重新打开一个相同的标签页

 

ls 按照大小排序 S sort h human r 反转

ls -Slh 由大到小

ls -Slrh 由小到大 

 

history -c 清除

history -a 合并

history clear

history merge

 

!history

result=dict(zip(a,b)) list->dict

 

图形界面崩溃,紧急情况下,切换到字符界面,ctrl alt F3 F4 super left right 切换

 

shell 去重 uniq 而diff 是比较文件的不同

设置默认程序 

1 ~/.config/mime.list 配置

2 setting default 

3  在任意PDF文件上右键->属性->点击“打开为”,如下图所示

选中“Document Viewer”,点击“set as default”。

linux 删除拿不准的东西时记得 备份一下,或者直接注释掉,惨痛的教训

 

脚本的头 shell python

#! /bin/bash   #! /bin/python

可加可不加

加上直接chmod +x xxx 可以直接 ./xxx

不加执行需要 bash python xxxx

一句话头声明其解释器

 

chown -R xxx path

 

sublimetext cfg

ctrl shift p 前缀快捷键

head menu bar 

bottom status bar

right minimap

top tab 

 

cfg /home/zl/.config/sublime-text-3/Packages/User/

{

 "font_size": 14,

 "ignored_packages":

 [

 ],

 "save_on_focus_lost": true,

 "theme": "Default.sublime-theme"

}

 

wget 下载ftp链接 

例如wget ftp://ftpuser:pwd@10.110.138.140/down/dhcp-4.2.3.tar.gz

 

shell先排序sort再去重 uniq 

cat xxx | sort | uniq

 

ALT+F2 restarting gnome-shell 重启gnome shell插件

 

shell对应列拼接 paste命令

 

systemd-analyse (blame) 分析启动时间被谁给耽误了

 

shell replace 命令

 

firfox 按住shift url会在新的窗口实例中打开,而不是在新的标签页

 

replace xx zz 

 

find 查找文件位置 find . -name xx 正则 深度 tree找不到 

 

sudo dpkg-reconfigure gdm3     切换桌面环境 gdm sddm etc

 

sleep 默认为 秒

 

消除vim搜索后高亮 :noh

 

使用navicat查看表字段 注释创建表信息等 右键表最下面对象信息

点击右边的ddl 注意看很小

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值