Linux开发常用命令

2015-03-31 07:44:00
admin
原创 2384
摘要:Linux开发常用命令 ls wc du ps grep uname netstat iptables binutils objdump nm tar yum

ls

显示所有文件:ls -al

更新时间排序显示文件列表:ls -lt

更新时间排序显示文件列表:ls -lt --time-style="+%Y-%m-%d %H:%M:%S"

显示指定时间后有更新的文件:ls -lt --time-style="+%Y-%m-%d %H:%M:%S" | awk 'NF>=6 && $6>="2022-01-01"{print $0}'

按文件大小排序显示文件列表:ls -lhS

列表形式显示文件:ls | cat


tree

显示当前目录的目录树:tree

显示指定目录的目录树:tree dir


ln -s target linkfile

创建符号链接,符号链接仅包含文件路径信息,如果路径包含链接,生成链接时不做解析。


head、tail、tailf显示文件头部尾部数据,默认显示10行:

1、支持按行或按字节显示;

2、tail -f支持同时查看多个文件,并且可以显示文件名;

3、tailf基本等价于tail -f,但是文件不增长时,tailf不访问文件,因此更加省电节能;


du

du -h 所有文件夹空间大小

du -ah 所有文件大小,包括普通文件

du -ah --max-depth=1,只统计一层

du -sh 当前文件夹空间大小


文本追加内容

echo "content" >>filename,向文件增加一行文本内容,自动添加换行符;

cat >>filename,向文件增加多行文本内容,自动添加换行符;


ps

ps -ef | grep ssh | grep -v grep,标准格式展示,显示父进程PID;

ps aux | grep ssh | grep -v grep,BSD格式展示,显示资源消耗;


pstree

pstree,显示进程树结构;

pstree -p,显示进程树结构,显示进程PID;


fuser

根据使用文件查找进程:fuser filename

根据监听端口查找进程:fuser -n tcp 8080,fuser 8080/tcp


查看Linux内核版本和发行版本

查看完整版本:uname -a

查看内核版本:uname -r

查看发行版本:cat /etc/issue

查看发行版本:cat /etc/redhat-release


netstat查看网络状态

netstat -anp 显示所有类型的网络状态,并显示进程名。

netstat -lnp 显示LISTEN状态的所有进程。

netstat -antp 显示TCP的网络状态,并显示进程名。

netstat -anup 显示UDP的网络状态,并显示进程名。


ss查看网络统计信息

ss -ntp,显示TCP的网络状态,并显示进程PID。


iptables

查看iptables:iptables -L -n,-v显示更详细信息。

编辑iptables:vim /etc/sysconfig/iptables,需要重启iptables服务或使用iptables命令。

开启TCP端口:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8050:8059 -j ACCEPT

接受某些IP范围输入,32为掩码

-A INPUT -s 10.231.131.156/32 -j ACCEPT

接受某些IP范围输出32为掩码
-A OUTPUT -d 10.235.0.19/32 -j ACCEPT


tar用法

tar用于将多个文件归档成一个文件,本身不具备压缩能力,需要使用gzip和bzip2压缩文件。

参数说明:

z,gzip格式,后缀tar.gz;

j,bzip2格式,后缀tar.bz2;

--exclude,排除文件,可以用于压缩文件、查看文件、解压文件,可以使用通配符;


关于-C dir参数说明:

1、不影响-f参数,压缩时被压缩的文件从dir查找;

2、不影响-f参数,解压时解压后的文件位于dir目录;


压缩文件:tar cvf archive files --exclude=file1 --exclude=file2

解压文件:tar xvf archive

查看文件:tar tf archive


gzip用法

gzip用于压缩文件,不能保存文件的rwx属性,tar和zip可以保存rwx属性,并且默认不保存文件名和时间戳。

参数说明:-c,输出结果到命令行,否则导致原始文件被覆盖。


压缩文件:gzip -c file >archive.gz

解压文件:gunzip -c archive.gz >file或者zcat archive.gz >file

查看文件:gzip -l archive.gz


zip用法

zip -r archive.zip dir,r递归压缩,zip命令只对压缩文件更新,不做删除;

zip -d archive.zip "dir/*",删除目录和目录下所有文件;
unzip -l archive.zip,显示压缩文件内容;
unzip -o archive.zip -d dir,解压文件到指定目录,o不提示直接覆盖,行为像cp但跨类型操作不允许;


yum常用介绍

查找资源:

yum list [all | available | updates | installed] [name-regex]:列出资源库中所有可以获取、更新、已经安装的rpm包;

yum info [all | available | updates | installed] [name-regex]列出资源库中所有可以获取、更新、已经安装的rpm包详细信息;

yum search [name-regex]:查找所有包含关键字的rpm包;

yum provides file:查看系统中命令对应的安装包信息;

yum grouplist:查看系统中已经安装和可用的软件组;

使用资源:

yum install <packages>:安装软件包
yum update <packages>:更新指定的软件包
yum remove | erase <packages>:卸载指定的软件包

rpm --help:rpm帮助信息

rpm -ivh package.rpm:安装指定的rpm软件包

rpm -e --nodeps wget-1.12-5.el6_6.1.x86_64:不检查依赖卸载软件包

rpm -qa:查询所有软件包

rpm -Va:校验所有软件包

rpm -qf /bin/nice:查看系统中命令对应的安装包名称

yum groupinstall <groupnames>:安装指定软件组中的软件包
yum groupupdate <groupnames>:更新指定软件组中的软件包
yum groupremove <groupnames>:卸载指定软件组中的软件包

设置代理,CentOS管理选项可以图形界面设置

export http_proxy="http://username:password@ip:port"

export http_proxy="http://ip:port"

解决证书校验错误:

方法1:增加根证书,openssl x509 -text -in root.crt >>/etc/pki/tls/certs/ca-bundle.crt
方法2:取消证书校验,sslverify=false

配置高速国内主源:

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak

wget -O CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repo
yum clean all
yum makecache

下载历史版本系统

http://mirrors.cloud.tencent.com/centos-vault

配置rpmforge辅助源:

增加rpmforge源:下载并安装rpmforge,下载地址http://pkgs.repoforge.org/rpmforge-release

删除rpmforge源:rpm -e --nodeps rpmforge-release

配置DVD更新源:

CentOS-DVD.repo
[CentOS-DVD]
name=CentOS
baseurl=file:///media/CentOS_6.6_Final
        file:///media/CentOS_6.6_Final_
enabled=1
gpgcheck=0

rpm命令校验说明:

S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ

命令安装目录

/usr/sbin、/usr/bin、/sbin、/bin;

发表评论
评论通过审核之后才会显示。