赞
踩
1 文件{
ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt 【常用】
touch file # 创建空白文件
rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) 【常用,慎用!!!】
dos2unix # windows文本转linux文本
unix2dos # linux文本转windows文本
enca filename # 查看编码 安装 yum install -y enca
md5sum # 查看md5值,可用于在linux系统上,比较两个文件是否完全相同,在比较的过程中,关注md5值的最后四位即可 【常用】
ln 源文件 目标文件 # 硬链接
ln -s 源文件 目标文件 # 符号连接
readlink -f /data # 查看连接真实目录
cat file | nl |less # 查看上下翻页且显示行号 q退出
head # 查看文件开头内容
head -c 10m # 截取文件中10M内容
split -C 10M # 将文件切割大小为10M -C按行
tail -f file # 查看结尾 监视日志文件,经常用于实时抓取日志 【常用】
tail -F file # 监视日志并重试, 针对文件被mv的情况可以持续读取
file # 检查文件类型
umask # 更改默认权限
uniq # 删除重复的行
uniq -c # 重复的行出现次数
uniq -u # 只显示不重复行
paste a b # 将两个文件合并用tab键分隔开
paste -d'+' a b # 将两个文件合并指定'+'符号隔开
paste -s a # 将多行数据合并到一行用tab键隔开
chattr +i /etc/passwd # 不得任意改变文件或目录 -i去掉锁 -R递归
more # 向下分面器
locate 字符串 # 搜索
wc -l file # 查看行数
cp env.sh env.sh.bak # 如将env.sh文件,复制到同目录下,并取名env.sh.bak,要复制到其他目录,在env.sh.bak前面跟上相应的路径即可 【常用】
cp -a nagios/ nagios.bak # 如将nagios文件夹复制到同目录下,并取名nagios.bak,要复制到其他目录,在nagios.bak前面跟上相应的路径即可 【常用】
echo "10.45aa" |cksum # 字符串转数字编码,可做校验,也可用于文件校验
iconv -f gbk -t utf8 原.txt > 新.txt # 转换编码
watch -d -n 1 'df; ls -FlAt /path' # 实时某个目录下查看最新改动过的文件
cp -v /dev/dvd /rhel4.6.iso9660 # 制作镜像
diff suzu.c suzu2.c > sz.patch # 制作补丁
patch suzu.c < sz.patch # 安装补丁
sort排序{
-t # 指定排序时所用的栏位分隔字符
-n # 依照数值的大小排序
-r # 以相反的顺序来排序
-f # 排序时,将小写字母视为大写字母
-d # 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-c # 检查文件是否已经按照顺序排序
-b # 忽略每行前面开始处的空格字符
-M # 前面3个字母依照月份的缩写进行排序
-k # 指定域
-m # 将几个排序好的文件进行合并
-T # 指定临时文件目录,默认在/tmp
+<起始栏位>-<结束栏位> # 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
-o # 将排序后的结果存入指定的文
sort -n # 按数字排序
sort -nr # 按数字倒叙
sort -u # 过滤重复行
sort -m a.txt c.txt # 将两个文件内容整合到一起
sort -n -t' ' -k 2 -k 3 a.txt # 第二域相同,将从第三域进行升降处理
sort -n -t':' -k 3r a.txt # 以:为分割域的第三域进行倒叙排列
sort -k 1.3 a.txt # 从第三个字母起进行排序
sort -t" " -k 2n -u a.txt # 以第二域进行排序,如果遇到重复的,就删除
}
find查找{
# linux文件无创建时间
# Access 使用时间
# Modify 内容修改时间
# Change 状态改变时间(权限、属主)
# 时间默认以24小时为单位,当前时间到向前24小时为0天,向前48-72小时为2天
# -and 且 匹配两个条件 参数可以确定时间范围 -mtime +2 -and -mtime -4
# -or 或 匹配任意一个条件
find /etc -name "*http*" # 按文件名查找
find . -type f # 查找某一类型文件,支持正则表达式,如要查找当前目录下,后缀为txt的,find . -type f |grep .txt 【常用】
find / -perm # 按照文件权限查找
find / -user # 按照文件属主查找,如查找/weblogic下面,是否有root权限的文件,find /weblogic -user root 【常用】
find / -group # 按照文件所属的组来查找文件
find / -atime -n # 文件使用时间在N天以内
find / -atime +n # 文件使用时间在N天以前
find / -mtime +n # 文件内容改变时间在N天以前
find / -ctime +n # 文件状态改变时间在N天前
find / -mmin +30 # 按分钟查找内容改变
find / -size +1G -print # 查找根目录下大于1个G字节的文件 【常用】
find /etc -name "*passwd*" -exec grep "xuesong" {} \; # 按名字查找文件传递给-exec后命令
find . -type f -name "err*" -exec rename err ERR {} \; # 批量改名(查找err 替换为 ERR {}文件
find 路径 -name *name1* -or -name *name2* # 查找任意一个关键字
}
vim编辑器{
vim +24 file # 打开文件定位到指定行,多用于排错 【常用】
vim file1 file2 # 打开多个文件
vim -O2 file1 file2 # 垂直分屏
vim -on file1 file2 # 水平分屏
Ctrl+ U # 向前翻页
Ctrl+ D # 向后翻页
Ctrl+ww # 在窗口间切换
Ctrl+w +or-or= # 增减高度
:sp filename # 上下分割打开新文件
:vs filename # 左右分割打开新文件
:set nu # 打开行号 【常用】
:set nonu # 取消行号
:nohl # 取消高亮
:set paste # 取消缩进
:set autoindent # 设置自动缩进
:set ff # 查看文本格式
:set binary # 改为unix格式
:%s/字符1/字符2/g # 全部替换,如将文件中的hostname全部替换为host,:%s/hostname/host/g 【常用】
:200 # 跳转到200 1 文件头
G # 跳到行尾 【常用】
dd # 删除当前行 并复制 可直接p粘贴
11111dd # 删除11111行,可用来清空文件
r # 替换单个字符
R # 替换多个字符
u # 撤销上次操作 【常用】
* # 全文匹配当前光标所在字符串
$ # 行尾
0 # 行首
X # 文档加密
v = # 自动格式化代码
Ctrl+v # 可视模式
Ctrl+v I ESC # 多行操作
Ctrl+v s ESC # 批量取消注释
}
归档解压缩{
tar zxvpf gz.tar.gz -C 放到指定目录 包中的目录 # 解包tar.gz 不指定目录则全解压
tar zcvpf /$path/gz.tar.gz * # 打包gz 注意*最好用相对路径
tar zcf /$path/gz.tar.gz * # 打包正确不提示
tar ztvpf gz.tar.gz # 查看gz
tar xvf 1.tar -C 目录 # 解包tar ,解压到当前目录的话,直接 tar xvf 1.tar即可【常用】
tar -cvf 1.tar * # 打包tar,将当前文件夹下面的所有文件,打包到1.tar里面 【常用】
tar tvf 1.tar # 查看tar
tar -rvf 1.tar 文件名 # 给tar追加文件
tar --exclude=/home/dmtsai --exclude=*.tar -zcvf myfile.tar.gz /home/* /etc # 打包/home, /etc ,但排除 /home/dmtsai,常用于排除一些大而不需要的文件 【常用】
tar -N "2005/06/01" -zcvf home.tar.gz /home # 在 /home 当中,比 2005/06/01 新的文件才备份
tar -zcvfh home.tar.gz /home # 打包目录中包括连接目录
tar zcf - ./ | ssh root@IP "tar zxf - -C /xxxx" # 一边压缩一边解压
zgrep 字符 1.gz # 查看压缩包中文件字符行
bzip2 -dv 1.tar.bz2 # 解压bzip2
bzip2 -v 1.tar # bzip2压缩
bzcat # 查看bzip2
gzip A # 直接压缩文件,压缩后源文件消失,压缩率较高 【常用】
gunzip A.gz # 直接解压文件 # 解压后源文件消失 【常用】
gzip -dv 1.tar.gz # 解压gzip到tar
gzip -v 1.tar # 压缩tar到gz
unzip zip.zip # 解压zip,通用性较高 【常用】
zip zip.zip * # 压缩zip 【常用】
# rar3.6下载: http://www.rarsoft.com/rar/rarlinux-3.6.0.tar.gz
rar a rar.rar *.jpg # 压缩文件为rar包
unrar x rar.rar # 解压rar包
7z a 7z.7z * # 7z压缩
7z e 7z.7z # 7z解压
}
恢复rm删除的文件{ #【慎用】
# debugfs针对 ext2 # ext3grep针对 ext3 # extundelete针对 ext4
df -T # 首先查看磁盘分区格式
umount /data/ # 卸载挂载,数据丢失请首先卸载挂载,或重新挂载只读
ext3grep /dev/sdb1 --ls --inode 2 # 记录信息继续查找目录下文件inode信息
ext3grep /dev/sdb1 --ls --inode 131081 # 此处是inode
ext3grep /dev/sdb1 --restore-inode 49153 # 记录下inode信息开始恢复目录
}}
2 软件{
rpm{
rpm -ivh lynx # rpm安装 【常用】
rpm -e lynx # 卸载包
rpm -e lynx --nodeps # 强制卸载
rpm -qa # 查看所有安装的rpm包
rpm -qa | grep lynx # 查找包是否安装 【常用】
rpm -ql # 软件包路径
rpm -Uvh # 升级包
rpm --test lynx # 测试
rpm -qc # 软件包配置文档
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 # 导入rpm的签名信息,配置yum源安装rpm包的时候,经常使用 【常用】
rpm --initdb # 初始化rpm 数据库
rpm --rebuilddb # 重建rpm数据库 在rpm和yum无响应的情况使用 先 rm -f /var/lib/rpm/__db.00* 在重建
}
yum{
yum list # 所有软件列表
yum install 包名 # 安装包和依赖包 【常用】
yum -y update # 升级所有包版本,依赖关系,系统版本内核都升级
yum -y update 软件包名 # 升级指定的软件包
yum -y upgrade # 不改变软件设置更新软件,系统版本升级,内核不改变
yum search mail # yum搜索相关包
yum grouplist # 软件包组
yum -y groupinstall "Virtualization" # 安装软件包组 【常用】
repoquery -ql gstreamer # 不安装软件查看包含文件
yum clean all # 清除var下缓存 【常用】
}
yum使用epel源{
# 包下载地址: http://download.fedoraproject.org/pub/epel # 选择版本5\6\7
rpm -Uvh http://mirrors.hustunique.com/epel//6/x86_64/epel-release-6-8.noarch.rpm
# 自适配版本
yum install epel-release
}
自定义yum源{
find /etc/yum.repos.d -name "*.repo" -exec mv {} {}.bak \;
vim /etc/yum.repos.d/yum.repo
[yum]
#http
baseurl=http://10.0.0.1/centos5.5
#挂载iso
#mount -o loop CentOS-5.8-x86_64-bin-DVD-1of2.iso /data/iso/
#本地
#baseurl=file:///data/iso/
enable=1
#导入key
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
}
编译{
源码安装{
./configure --help # 查看所有编译参数
./configure --prefix=/usr/local/ # 配置参数
make # 编译
# make -j 8 # 多线程编译,速度较快,但有些软件不支持
make install # 安装包
make clean # 清除编译结果
}
perl程序编译{
perl Makefile.PL
make
make test
make install
}
python程序编译{
python file.py
# 源码包编译安装
python setup.py build
python setup.py install
}
编译c程序{
gcc -g hello.c -o hello
}
}
}
3 系统{
wall # 给其它用户发消息
whereis ls # 查找ls命令的目录,同理查找其他命令所在的目录类推 【常用】
which java # 查看java命令所在的路径 【常用】
clear # 清空整个屏幕 【常用】
reset # 重新初始化屏幕
cal # 显示月历
echo -n 123456 | md5sum # md5加密
netstat -ntupl | grep port # 是否打开了某个端口 【常用】
ntpdate cn.pool.ntp.org # 同步时间, pool.ntp.org: public ntp time server for everyone(http://www.pool.ntp.org/zh/)
tzselect # 选择时区 #+8=(5 9 1 1) # (TZ='Asia/Shanghai'; export TZ)括号内写入 /etc/profile
/sbin/hwclock -w # 时间保存到硬件
/etc/shadow # 账户影子文件
LANG=en # 修改语言
vim /etc/sysconfig/i18n # 修改编码 LANG="en_US.UTF-8"
export LC_ALL=C # 强制字符集
vi /etc/hosts # 查询静态主机名
alias # 别名
watch uptime # 监测命令动态刷新 监视
ipcs -a # 查看Linux系统当前单个共享内存段的最大值
ldconfig # 动态链接库管理命令
ldd `which cmd` # 查看命令的依赖库
dist-upgrade # 会改变配置文件,改变旧的依赖关系,改变系统版本
/boot/grub/grub.conf # grub启动项配置
ps -mfL <PID> # 查看指定进程启动的线程 线程数受 max user processes 限制
ps uxm |wc -l # 查看当前用户占用的进程数 [包括线程] max user processes
top -p PID -H # 查看指定PID进程及线程
lsof |wc -l # 查看当前文件句柄数使用数量 open files
lsof |grep /lib # 查看加载库文件
sysctl -a # 查看当前所有系统内核参数
sysctl -p # 修改内核参数/etc/sysctl.conf,让/etc/rc.d/rc.sysinit读取生效
strace -p pid # 跟踪系统调用
ps -eo "%p %C %z %a"|sort -k3 -n # 把进程按内存使用大小排序
strace uptime 2>&1|grep open # 查看命令打开的相关文件
grep Hugepagesize /proc/meminfo # 内存分页大小
mkpasswd -l 8 -C 2 -c 2 -d 4 -s 0 # 随机生成指定类型密码
echo 1 > /proc/sys/net/ipv4/tcp_syncookies # 使TCP SYN Cookie 保护生效 # "SYN Attack"是一种拒绝服务的攻击方式
grep Swap /proc/25151/smaps |awk '{a+=$2}END{print a}' # 查询某pid使用的swap大小
redir --lport=33060 --caddr=10.10.10.78 --cport=3306 # 端口映射 yum安装 用supervisor守护
开机启动脚本顺序{
/etc/profile
/etc/profile.d/*.sh
~/bash_profile
~/.bashrc
/etc/bashrc
}
......
包含多种 命令 系统、服务器 等 多种命令 亲测,实用。
命令过多 已经 打包成文件 下载即可查看 推荐使用 Notepad++ 打开文件。
文件 下载地址: https://download.csdn.net/download/qq_22537681/11021240
谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。