使用shell去运行脚本,两种方法 bash xxx.sh,另外一种就是bash -c “cmd string”
命令行快捷键:
Ctrl + 左右键:在单词之间跳转
Ctrl + u:删除当前光标前面的所有文字(还有剪切功能)
Ctrl + k:删除当前光标后面的所有文字(还有剪切功能)
Ctrl + y:粘贴Ctrl+u或ctrl+k剪切的内容
Ctrl + w:删除光标所在单词前面的所有字符
Ctrl + d:向后逐个删除字符(命令行没有任何字符时,会结束终端)
Alt + d:向后逐个删除单词
Ctrl + r :搜索历史命令
Ctrl + shift + t (当前终端打开新页面)
快捷键:(Ubuntu & terminal 实用快捷键(实用,非大全))
查看进程cpu占用
首先通过 ps -ef | grep <exe_name> 找到对应的进程PID
然后 top -p PID
查找find用法
find /tmp/ -name test.txt
find /tmp ! -iname '*.txt' -type f -size +1G -mtime -2 # 查找/tmp下名字不为.txt的文件,大小超过1G,且该文件2天以内被修改过
sudo
sudo -l
sudo !!
cd
cd -
cp
cp -f # 覆盖已经存在的目标文件而不给出提示。
grep
grep [-acinv] [--color=auto] '搜寻字符串' filename
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :将找到的关键词部分加上颜色显示
grep -V # 查看grep版本号
grep -r # 快速搜索在目录下面的含有关键字的文件
grep -C 5 foo file # 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file # 显示foo及前5行
grep -A 5 foo file # 显示foo及后5行
grep -E 'foo|bar' file #grep匹配任意关键字
查看gcc版本:
gcc --version
查看linux版本:
cat /etc/issue
查看内核版本:
cat /proc/version
或
uname -a
查看主机名:
hostname
查看linux的位数:
getconf LONG_BIT
ldconfig命令 的用途主要是在默认搜寻目录/lib
和/usr/lib
以及动态库配置文件/etc/ld.so.conf
内所列的目录下,搜索出可共享的动态链接库(格式如lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache
,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin
目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
下载:
git clone https://github.com/xxx.git # 专门用来下载github上的东西
git clone git@github.com://xxx.git
wget http://www.xxx # 从指定的url下载文件
-c # 继续下载中断的文件
-p # 下载到指定目录
串口永久赋权:
在 /etc/udev/rules.d 目录下面添加一个 20-usb-serial.rules,内容如下:
KERNEL=="ttyUSB*" MODE="0666"
保存,重新插入USB转串口
更改ubuntu分辨率:
xrandr
xrandr -s 1680x1050
挂载:
sudo mount -a
sudo mount -t cifs -o username=alan //10.10.10.10/public/ /media/nas
压缩 / 解压缩:
# *.tar文件
tar -cvf file_name.tar dir/ # 压缩
tar -xvf file_name.tar # -C /tmp # 解压缩,指定解压到哪里
# *.tar.gz和*.tgz文件
tar -czvf file_name.tgz dir/ # 压缩
tar -xzvf file_name.tgz # 解压缩
# *.gz文件
gzip file_name # 压缩
gzip -d file_name.gz # 解压缩
gunzip file_name.gz # 解压缩
# *.bz2文件
bzip2 -d file_name.bz2 # 解压缩
bunzip2 file_name.bz2 # 解压缩
# *.tar.bz2文件
tar jxvf file_name.tar.bz2 # 解压缩
tar --bzip xvf file_name.tar.bz2 # 解压缩
# *.zip文件
unzip file_name.zip # 解压缩
# *.rar文件
unrar e file_name.rar # 解压缩
# *.zst文件
sudo apt-get install zstd
unzstd file_name.zst # 解压缩
查看目录树:
tree -L 2
查看当前路径:
pwd
隐藏文件夹
mkdir -p alan/.hide_dir/
touch alan/.hide_dir/.hide_file.txt
ubuntu修改root密码:
sudo passwd root
ubuntu修改用户密码:
sudo su
sudo passwd username
reboot // 重启
shutdown -h now // 关机
移动 / 修改文件/文件夹名:
mv file_name1 file_name2
强制关闭程序:
top//按占用资源从多到少显示现在系统的进程,找到要关掉的进程第一列的PID编号,输入q退出
sudo kill <pid>
关闭gedit自动备份功能:
用gedit编辑文档总会生成以~结尾的备份文档,关闭备份功能可在(Edit->Preferences->Editor)里取消选中“保存前创建备份文件”就可以了。
可通过rm -rf *.*~命令删除目录下所有的这类备份文件(-r:目录中与子目录中所有的符合条件文件都删除;-f:忽略不存在的文件,不给出提示)
提取cam0/data文件夹下所有图像的时间戳到timestamp.txt
ls cam0/data/ > timestamp.txt
sed -i 's/.png//g' timestamp.txt
sed -i "s/origin_str|replace_str/g" filename
shell脚本注释: '#'
查看ip地址:
ifconfig # eno1 / inet addr那个
rsync的使用
(1)说明:rsync是一个快速、多功能的远程(和本地)文件拷贝和同步工具,比scp更强大,支持“不覆盖”原目。
(2)选项:
-a, --archive 表示以递归方式传输文件,并保持所有文件属性,等同于"-rtopgDl"或"-rlptgoD"。
-v, --verbose 显示rsync过程中详细信息,可以使用"-vvvv"获取更详细信息。
-z, 传输时进行压缩提高效率。
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖原目录内容)
-t, --times 保持文件时间信息。
-r, --recursive 对子目录以递归模式处理。
-R, --relative 使用相对路径信息。
-c, --checksum 打开校验开关,强制对文件传输进行校验。
-q, --quiet 精简输出模式。
--progress 可以查看拷贝的过程。
--stats 显示文件传输的详细信息。
-S
--update
--size-only
(3)用例:
rsync -avz foo:src/bar /data/tmp //拷贝目录下的所有文件
rsync -avz foo:src/bar/ /data/tmp //带有尾随斜线(/)时拷贝目录本身
rsync -avzu --progress /foo/ <user_name>@<ip>:/bar/
rsync -aR
ubuntu支持exfat方法:
sudo apt-get install exfat-utils
htop 是Linux系统中的一个互动的进程查看器
sudo apt-get install htop
htop
查看内存使用情况
df -h
free -m
查看当前目录下文件的大小
du -h --max-depth=1
查看当前目录下所有文件及文件夹的大小
du -sh *
修改DNS
sudo vim /etc/resolv.conf
添加 nameserver xx.xx.xx.xx
search localdomain
前面加#号注释
sudo systemctl restart networking.service
添加nameserver:
在/etc/rc.local文件中加入
echo "nameserver 10.18.50.60" > /etc/resolv.conf
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
然后 source /etc/rc.local
查看是否添加成功 cat /etc/resolv.conf
修改 tmp 文件夹下面所有文件的权限:
tmp$ sudo chmod -R 777 .
sudo chmod 777 file
sudo chmod ugo+w file # user, group, other (r,x,w)(4,2,1)
sudo chmod a+w file
计算当前目录下文件/文件夹的数目:
ls -l |grep "^-"|wc -l # 文件数目
ls -l |grep "^d"|wc -l # 文件夹数目
cat test.txt | grep “key word” | wc -l
一行运行多个命令
cmd1 && cmd2
scp拷贝:
格式: scp -i 私钥文件目录 -P 远程主机端口 登录用户名@远程主机ip:远程待下载文件 本地文件目录(文件存放目录)
scp -i xxx.rsa -P 1234 -r user_name@192.168.0.0:/xxx_dir /xxx/ # 或-i xxx.pem
查看命令行历史(Ctrl+r)
history
cd -
查看文件的头、尾部分
head test.txt
tail test.txt
二进制和十进制相互转换:
echo "obase=2;1314520" | bc // 101000000111011011000
((i=2#101000000111011011000));echo $i // 1314520
#pip/pip2
which pip
pip search pypcd
pip install pypcd
pip install pypcd --user
pip list
pip uninstall pypcd
连接打印机
打开Printers -> 点击 Add -> Network Printer -> AppSocket/HP JetDirect,在Host中填入打印机ip,点击Forward