1 dpkg
查看系统已经安装的软件包:
dpkg -l
安装com.xxx.yyy软件:
dpkg -i com.xxx.yyy.deb
卸载com.xxx.yyy软件:
dpkg -r com.xxx.yyy
找出com.xxx.yyy软件安装了哪些文件:
dpkg -L com.xxx.yyy
找出/opt/apps/com.xxx.yyy/files/lib/libxxx.so文件属于哪个软件:
dpkg -S /opt/apps/com.xxx.yyy/files/lib/libxxx.so
2 mount
挂载U盘:
mkdir /mnt/usb
mount -t vfat /dev/msa1 /mnt/usb
卸载U盘:
umount /dev/msa1
3 ps
查找出进程中的所有线程
ps -elT -p pid
4 ln
给xxx创建xxxsoft软链接
ln -s xxx xxxsoft
5 find
找到当前目录下的xxx文件并删除
find -name xxx | xargs rm -rf
6 du
显示整个目录所占大小
du -s xxx //72913492(单位KB)
du -sh xxx // 单位MB
du -sh *
7 压缩,解压
(1)*.tar.gz,*.tgz:
tar -zcvf dst.tar.gz src
tar -zxvf dst.tar.gz
解压到指定目录:
tar -zxvf dst.tar.gz -C /home/xxx
(2)*.tar.bz2
tar -jcvf xxx.tar.bz2 src
tar -jxvf xxx.tar.bz2
如果分开打包了如下几个文件:
android.tar.bz2.aa
android.tar.bz2.ab
android.tar.bz2.ac
则按照如下指令解压文件:
cat android.tar.bz2.a* | tar xj
(3)*.tar
tar -cvf dst.tar src
tar -xvf dst.tar
(4)*.gz
文件:
gzip filename
gzip -d xxx.gz
目录:
gzip dir -r
gzip -d dir -r
(5)*.xz
文件:
xz filename
xz -d xxx.xz
(6)*.bz2
文件:
bzip2 -z filename
bzip2 -d xxx.bz2
(7)*.7z
ubuntu下7z文件的解压方法
安装:apt-get install p7zip-full
解压7z:使用方法:7z x file.7z
解压出来就是文件夹.
(8)*.zip
压缩
zip -r aw21024.zip ./aw21024
解压
unzip -d dir ./aw21024.zip
8 ssh
开启ssh
vim /etc/ssh/sshd_config
PermitRootLogin yes
重启sshd服务
service sshd restart
9 diff
比较两个子目录:
diff xxx/src/ yyy/src/ -r
左右比较文件差异:
diff -y file1 file2
10 readelf
列出so包含的函数接口
readelf -s ./target//lib/xxx.so
11 scp
(1)拷贝本地文件到远程目录
scp xxx root@10.175.118.68:/home/dir
-r 拷贝目录
scp -r xxx/ root@10.175.118.68:/home/dir
(2)拷贝远程文件到本地目录
scp root@10.175.118.68:/home/dir/xxx.sh /home/user
-r 拷贝目录
12 patch
生成patch
git diff > xxx.patch
git format-patch 4e16
安装patch
patch -p(n) < [补丁包路径] xxx.patch
patch -p1 < xxx.patch
卸载patch
patch -p(n) -R < [补丁包路径] xxx.patch
patch -p1 -R < xxx.patch
13 tcpdump
指定网口抓指定MAC地址的包:
./tcpdump -i eth0 ether host bc:ad:28:21:17:4a -s 0 -v -w a1.pcap
-i eth0:指定网口
ether host bc:ad:28:21:17:4a:指定MAC地址
-s 0:可抓完整的包,默认情况抓取长度为68字节的包
注意:选对网卡
14 linux目录文件
(1)日志文件目录:
/var
(2)syslog:
/var/log/syslog
(3)kernel log:
/var/log/messages
(4)第三方应用程序目录:
/opt
(5)文件包含了Linux系统主机名:
/etc/hostname
(6)文件包含了IP地址与主机名的映射关系:
/etc/hosts
(7)文件指定了如何解析域名:
/etc/resolv.conf
(8)所有驱动的依赖关系:
/lib/modules/$(uname -r)/modules.dep
(9)没有编译进内核的驱动:
/lib/modules/$(uname -r)/kernel
(10)编译进内核的驱动:
/lib/modules/$(uname -r)/modules.buildin
15 su
从root用户切换到oralce用户,使用root环境变量
su oracle
从root用户切换到oralce用户,使用oracle环境变量
su - oracle
同理:
从user用户切换到root用户,使用user环境变量
su
从user用户切换到root用户,使用root环境变量
su -
16 sudo
修改su密码
sudo passwd root
17 objdump
查看so/bin中的依赖
objdump -x xxx| grep NEED
18 /proc
查看内核启动参数
cat /proc/cmdline
19 pstree
以树状图显示进程,还显示进程PID
pstree -p
20 df,fdisk
查看硬盘信息
df -h
fdisk -l /dev/hdb
21 xargs
xargs能够将输入数据转化为特定命令的命令行参数,可以配合其他命令使用。
删除/path路径下的所有文件:
find /path -type f -print0 | xargs -0 rm
统计程序行数:
find . -type f -name "*.cpp" -print0 | xargs -0 wc -l
22 sed,awk
查看第2行第7列内容:
free -m | sed -n 2p | awk '{print $7}'
字符串全部替换:
sed -i 's/text/text_xxx/g' file
23 tr
用于转换文件中的字符
小写字母转换为大写字母:
echo "abcde" | tr 'a-z' 'A-Z'
将制表符转换为空格:
cat file | tr '\t' ' '
24 wc
统计行和字符
统计行数:
wc -l file
统计单词数:
wc -w file
统计字符数:
wc -c file
25 apt
查找下载libxxx对应deb包
apt search libxxx
apt download libxxx-dev(普通用户下)
26 kill
显示所有信号
kill -l
27 fuser
linux 查看设备是否被占用
fuser /dev/video50