Linux 下常用命令
**本文仅记录一些linux下用的多的命令,方便查阅。如果有更多实用的命令欢迎补充。**
ldd
列出动态库依赖关系;
ldd --version 查看版本
ldd a.so
XX --help man XX
详细使用说明
getconf LONG_BIT arch file /sbin/init uname -a
机器位数确认
脚本中的写法:
ifeq ($(shell uname -m), $(BIT64))
__stdcall
栈的结构支持函数参数传递,
通过函数调用约定来说明这两个问题,
stdcall,cdecl,fastcall,thiscall,naked call
参考:详细使用参考链接
“##”
宏定义中的#的意思:宏定义中#是“字符串化”的意思,
是把跟在后面的参数转换成一个字符串,例如#a等同于“a”,#abc等同于“abc”。
宏定义中的##是一个连接符号,用于把参数连在一起。例如,a##b##c等同于abc
access
当pathname为文件时,_access函数判断文件是否存在,并判断文件是否可以用mode值指定的模式进行访问。当pathname为目录时,_access只判断指定目录是否存在,在Windows NT和Windows 2000中,所有的目录都只有读写权限。
unlikely
也就是likely和unlikely是一样的,但是实际上执行是不同的,加likely的意思是value的值为真的可能性更大一些,
那么执行if的机会大,而unlikely表示value的值为假的可能性大一些,执行else机会大一些。
#if GNUC == 2 && GNUC_MINOR < 96
10 #define __builtin_expect(x, expected_value) (x)
11 #endif
12
13 #define likely(x) __builtin_expect((x),1)
14 #define unlikely(x) __builtin_expect((x),0)
df
查看磁盘空间大小
df -h [dirname|filename]
df -h
du -sh ./home/*
ls
显示目录下的文件
ls | xargs -n 10 rm -fr ls
split
分割文件
split -b 100M file name_out
tar
压缩和解压
压缩 tar -zxvf 压缩文件名.tar.gz
解压 tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
sed
查找和替换
sed -i “s/192.168.54.248/10.20.147.116/g” grep "192.168.54.248" -rl ./*.xml
scp
复制
scp -r root@192.168.1.12:/usr/local/src/*.log /root/
chown chgrp
改权限和权限组
用户权限问题(修改文件的权限为本地用户 全文件用 -R)
执行chown UserName FileName (xxxx为自己普通用户的名称) 这条是修改所属者
chgrp UserName FileName (这条是修该组成员)
netstat
端口占用查看
netstat -ntlp
tcpdump
tcp抓包
tcpdump udp -s 0 -i eth2 -w ./1602.pcap
ldd objdump uname getconf
机器位数
ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。
objdump -p libmylib.a 32还是64
uname -m (x86_64 64位)
getconf LONG_BIT
写在最后
大家有好用的常用的命令欢迎一起分享记录!