必备shell命令

[TOC]
在编译的时候,常用的比较长的命令或者路径,可以用变量代替,例如L=‘xxx/xxx/xxx’,使用的时候可以$L


xdg-open

打开文件或者目录、网址等等。
xdg-open [file | URL]

echo

打印、显示字符串;
echo $PATH;

alias

给命令去绰号:alias c=”clean”
永久有效:vim ~/.bashrc 写到末尾去。

find

1,作用:在指定的范围内按某种方式查找文件
2,用法:
find /etc -name “*.conf” (在/etc/下,查找所有名字后缀为.conf的文件)
find /etc -type d (将/etc/下的所有目录找出来)

grep

1,作用:在指定的范围内查找某个字符串
2,用法:
grep ‘apple’ dir/ -r (在dir/目录下的所有文件中,查找字符串apple)
grep ‘apple’ dir/ -rn (在dir/目录下的所有文件中,查找字符串apple,并显示行号)
grep ‘apple’ dir/ -rw (在dir/目录下的所有文件中,以全字匹配模式查找字符串apple)

head/tail

1,作用:显示文件的头/尾几行
2,用法:
head -n 20 a.txt (查看文件a.txt的开头20行)
tail -n 20 a.txt (查看文件a.txt的末尾20行)

sort

1,作用:排序
2,用法:
sort a.txt

uniq

1,作用:去掉相邻的重复行
2,用法:
uniq a.txt

diff

1,作用:对比两个文件/目录,并产生他们的差异的信息(补丁)
2,用法:
diff a.txt b.txt -u > patch (用标准格式,比对a.txt和b.txt,并产生补丁文件patch)
diff proj_1.0/ proj_2.0/ -urNB > 1.0.patch (用标准格式,递归地比对两个目录下的所有文件,并产生补丁文件1.0.patch)

patch

1,作用:为某文件/某工程目录打补丁
2,用法:
patch -p0 < patch (将本层目录下的补丁加入当前目录的相关文件中)
patch -p1 < ../patch (将上一级目录下的补丁加入当前目录的相关文件中)
patch -p2 < ../../patch (将上上级目录下的补丁加入当前目录的相关文件中)

tar

选项:-c 创建归档文件;-x 释放归档文件;-t查看归档文件-f 指定文件名称; -v显示命令过程;-C 指定解压目录;
解压:tar xzf xxx.tar.gz
tar xzf xxx.tar.gz -C /tmp
压缩:tar czf xxx.tar.gz xxx.txt a.txt ///压缩成gz格式,bzip2格式把z改为j
查看压缩包:tar tf xxx.tar.gz

对于ZIP文件

zip all.zip *.jpg

  这条命令是将所有.jpg的文件压缩成一个zip包

unzip all.zip

  这条命令是将all.zip中的所有文件解压出来

=========
./while & 。让程序后台运行

xx> file || xx< file

重定向:xx>file 将File文件重定向为输出源。例如wc>file.txt,将wc的结果重定向输出到txt文件中;

用户管理

添加用户:sudo adduser username;
删除用户:sudo deluser username –remove-home;

用户组管理

创建用户组:sudo addgroup groupname

添加用户入组:sudo gpasswd groupname -a username
删除:sudo gpasswd groupname -d username

ps (process state)

1,作用:查看当前瞬间,系统的进程情况
2,用法:
ps -ef
ps -aux
ps -ajx

提示:
让一个进程在后台运行(不占用前台终端的输入): ./while &

pstree

以树状显示所有的进程信息。

top

1,作用:跟踪系统的进程情况
2,用法:
top
top -p PID

kill/killall

1,作用:跟指定的进程发送一个信号
2,用法:
kill -l (列出当前系统支持的所有信号)
kill -s SIGXXX PID (给进程号为PID的进程发送SIGXXX)
kill -N PID (给进程号为PID的进程发送第N号信号)
killall xxx (给所有叫xxx的进程发送SIGTERM)

提示:
man 7 signal 可以查看信号的相关详细信息
man -k ” string”
可以使用关键词查找相关内容

df

1,作用:查看当前系统已经挂载了的文件系统(含虚拟文件系统)的详细信息
2,用法:
df (查看当前系统默认显示的文件系统信息)
df -a (查看所有的文件系统信息)
df -h (以K/M/G方式显示文件体系的存储空间的大小)

mount/umount

1,作用:挂载/卸载一个分区
2,用法:
sudo mount /dev/xxx /somewhere (将分区/dev/xxx(一般是U盘、sd卡)挂载到某目录/somewhere下)
sudo mount x.x.x.x:/xxx /somewhere -t nfs -o nolock (将远程共享分区挂载到某目录/somewhere下)
sudo mount xxx.iso /somewhere -t ios9660 -o loop (将虚拟光盘挂载到某目录/somewhere下)

   以下两种方式是等价的:·
   sudo umount /somewhere  (将挂载在/somewhere下的分区卸载掉)
   sudo umount /dev/xxx    (将分区/dev/xxx卸载掉)

查看当前系统已经识别(但可能还未挂载)的分区
sudo fdisk -l

1,作用:为文件/目录创建链接
2,用法:
ln file1 file2 -s (创建一个指向file1的“软连接”文件file2)
ln dir1/ dir2/ -s (创建一个指向dir1/的“软连接”文件dir2/)

解除链接: rm -rf dir2

which

1 作用:查找命令、程序所在目录
which ls



目录:(不是文件夹!)是一个地方(硬盘分区、网络分区、内存区域)的入口

系统根目录
/
├── bin/ : binary,存放很多普通用户可以使用的命令(二进制程序)
├── boot/ : 存放了系统的内核镜像,启动的时候就是从这里开始加载的。
├── dev/ : 存放了所有的设备节点(除了网卡之外)文件的地方,设备节点是控制(读写)设备的统一入口
├── etc/ : 存放了几乎所有的配置文件,网络配置(/etc/network/interfaces),vi软件的配置文件(/etc/vim/vimrc)……
├── home/ : 所有的普通用户的家目录所在地
├── lib/ : 系统库文件所在地之一
├── proc/ : process,内存中关于进程的内核信息,被组织成一个虚拟文件系统,这个系统就被挂载在/proc下。也就是说/proc是进入进程信息结构体的入口
├── root/ : 管理员(根用户root)的家目录
├── sbin/ : super binary,存放很多管理员才可以使用的命令(二进制程序)
├── sys/ : system,内存中的详细的内核信息,被组织成不同的目录,并且形成一个虚拟文件系统,这个系统就被挂载在/sys下。也就是说/sys是查看系统信息的重要入口
├── usr/ : user,用来存放用户自定义的软件、库等文件的地方
├── var/ : variable,用来存放一些大小尺寸经常发生变动的文件,比如日志、软件下载目录、邮件池、备份文件。
将这个目录单独挂载到一个分区,有利于防止磁盘碎片导致系统性能下降

通配符

1,星号 * :代表任意长度的任意字符
2,问号 ? :代表一个任意字符
3,扩号 […]:代表一个指定范围的字符
[^…]:代表一个指定范围之外的字符

三种引号

1,双引号:在双引号里面可以通过 $ 来解析变量,通过反引号来解析命令
2,单引号:在单引号里面的所有字符,都将被一律视为字符串
3,反引号:可以解析一个命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值