Linux常用命令

基本处理和管理命令

ls -a -l -d -R -u   #查看文件
cp -r -a -p -f      #copy
rm -rf      #-r 递归删除目录,-f 忽略提示,直接删除
du -sh      #查看文件大小
wc -l       #查看文件有多少行
more        #查看文本
less            #查看文本
head -5     #查看文本前五行
tail -5 -f      #查看文本后五行,-f 从最后向上查看文本
pwd     #查看当前工作目录
which       #查看可执行文件的位置
clear       #清屏
tar -zcf xf -C  #归档,-zcf gzip压缩并归档,-xf解归档,-C解压目录
zip -r      #压缩,-r 压缩目录
unzip -d        #解压缩,-d解压目录
crontab -e -l      #计划任务,-e修改,-l查看,分时日月周 *****,命令,操作30 21 * * * 每晚21点30分钟执行
ln -s       #创建硬链接,-s 创建软链接 ln -s 源文件 软链接名
chmod  -R       #修改文件权限,-R递归修改,ugo,rwx(4只读,2写入,1执行),u=-w-,+=- chmod -R 777 要修改目录
chown -R        #修改文件所属者和所属组,-R递归修改,tp:tp chown -R 用户名:用户组 要修改的目录
alias       #添加和查看别名,unalias删除别名,alias Ab="rm -rf"
echo -n -e         #输出,-n输出不换行,默认换行。-e  #支持反斜线开始的转义字符,屏蔽反斜线后面字符的原本含义
uniq -c -d -u   #字符行统计,-c 统计文本中重复的行,-d 只显示重复出现的行,-u 只显示不重复出现的行
sort -n -r  #字符行排序,-n 默认使用从小到大排序,-r 数字从大到小排序
watch       #重复执行某一命令观察变化,-n时隔多少秒刷新,-d高亮显示动态变化
sleep       #等待时间,单位s
xargs       #常用于管道后面,字符转换类似于管道
history -c      #查看历史命令,-c 清除历史命令记录
getenforce          #查看selinux当前状态
setenforce  0/1     #关闭开启selinux
source      #刷新文件配置,source /etc/profile
export      #声明环境变量
sysctl -p       #刷新内核配置文件,修改内核参数
systemctl       #start stop restart status(当前状态) enable(开机自启) disable(关闭开机自启)

磁盘

df -Th      #查看磁盘使用情况,-T显示文件系统类型,-h人性化显示
fdisk -l        #查看磁盘信息 p m n d q w 
lsblk       #查看系统有哪些分区
blkid       #查看分区的文件系统格式
swapon -s   #查看所有交换分区
pvs vgs lvs     #查看物理分区和逻辑卷组,查看那逻辑卷组,查看逻辑卷
vgcreate vgremove vgextend #创建,删除,修改逻辑卷组
lvcreate lvreove lvextend  #创建,删除,修改逻辑卷组
mkfs.xfs(ext4)  #将分区格式化文件系统
partprobe       #刷新分区
mount -a        #挂载,unmount,取消挂载,mount -a 刷新配置/etc/fstab/
fdisk -l 查看磁盘情况,mount -p /dev/shh1(U盘) /home/usb 挂载到home目录下的usb
# 系统
hostname            #查看主机名
uname -r        #查看该系统的版本号
free -h         #查看内存信息,下文详解
lscpu       #查看cpu信息
uptime      #查看系统负载,当前时间,系统已运行时间,当前在线用户,最近1,5,15分钟平均系统负载
cal     #查看日历
date -s     #查看系统时间,-s 修改系统时间
date '+%Y-%m-%d' date "_%Y-%m-%d  %H:%M:%S"
ntpdate     #时间同步
clock -w        #修改系统时间后,将系统时间写入cmos中
hwclock     #查看硬件时间
lsmod       #查看已加载的内核模块,ls /lib/modules/'uname -r'/内核模块存放
getconf LONG_BIT   #查看当前系统是32位还是64位

用户

who     #查看活动用户
w           #查看活动用户在做什么
users       #查看当前登入的用户
id          #查看指定用户信息
last        #查看用户登入日志
useradd     #新建用户,有很多新建用户的所属选项可以直接passwd修改
/etc/passwd 查看用户
usermod     #修改用户-L将用户锁定无法登入,-u解锁
userdel -r      #删除用户,并把家目录和邮件目录全部删除
groupadd        #新建组,groupdel 删除组:删除的不能是用户的基本组
gpasswd -a -d   #管理组-a把用户添加到组,-d把用户从组中删除
visudo      #修改sudo配置文件
sudo -u     #提权,-u 找指定用户提权,前提是visudo中有配置
su  -       #切换登入,su加-

网络

nc ip port      #检测端口是否开启
telnet ip port  #检测端口是否开启,远程登入
route -n        #查看路由表
ifup ens33          #激活网卡
wget  -P        #下载,-P 指定下载到某个目录,wget -P /opt https://ww.baidu.com
scp -r      #文件传输和拉取-r 目录传输, scp -r a.zip root@ip:/opt/ scp -r root@ip:/opt/a.zip .
curl -I     #字符浏览器,curl -I 查看请求头
nslookup        #nslookup www.baidu.com,查询指定域名的DNS解析
host        #测试dns解析,host www.baidu.com
traceroute -I   #tarcerroute -I www.baidu.com ,追踪数据包的路由过程
dig     #dig www.baidu.com,#查询域名的DNS解析

命令选项

w           #查看活动用户,在做什么
pkill -kill -t pts/0                #踢掉某个终端连接的用户
ps -ef | grep pts | grep bash | grep -v grep    #查看有几个活动用户和pid
kill -9  pid                    #踢掉某个终端链接的用户
date
date                #查看系统时间
date +%Y%m%d%H%S            #当前系统时间
date -s "1995-10-20 11:10:00"   #修改系统时间格式
clock -w                #修改系统时间后,将系统时间写入cmos中
lsof
lsof        #列举系统中被打开的文件
    -i:80       #显示使用80端口的进程
    -u root     #显示以root运行的程序
    -c php-fpm  #显示php-fpm进程打开的文件
ls
    -a      #查看隐藏文件
    -l      #显示详细信息
    -d      #显示目录本身属性
    -R      #递归显示   
    -u      #显示文件或目录最后被访问的时间,-t以修改时间排序
cp
    -r      #递归复制整个目录
    -a      #复制时保留源文档的所有属性(包括权限,时间等),常用于备份
    -p      #连同属性一起复制,而不是使用默认属性
    -f      #强制复制,如果要强制覆盖\cp -rf xxx xxx
zip和tar
zip etc.zip -r /etc/    #-r:压缩目录,不使用-r只能压缩文件
unzip etc.zip -d /opt/  #-d:指定解压目录
tar -zcf etc.tar.gz /etc    #压缩并归档,使用gzip的方式压缩
tar -xf etc.tar.gz -C /opt  #-C:指定解压目录
free
free  -h    #查看内存信息,-h人性化可读显示,mem:内存,swap:交换分区
total(内存总量) used(已用内存容量) free(剩余容量) 

命令行
查看系统信息

cat /etc/redhat-release #查看系统版本
cat /proc/cpuinfo   #查看cpu详细信息
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l    #查看物理CPU个数
cat /proc/cpuinfo | grep "cpu cores" | uniq #查看每个物理cpu中的core的个数(几核)
cat /proc/cpuinfo | grep "processor" | wc -l    #查看逻辑cpu的个数
#总核数=物理cpu格式×每课物理cpu的核数
#总逻辑CPU数=物理CPU×每颗物理CPU的核数×超线程数
cat /proc/meminfo   #查看内存详细信息   
cat /proc/meminfo | grep MemTotal       #查看内存总量
cat /proc/meminfo | grep MemFree        查看空闲内存量
cat /etc/resolv    #查看本机dns
源码安装软件后添加环境变量
export PATH=$PATH:/命令路径
源码编译安装
./configure --prefix=指定安装目录 && make && make install
非交互式新建用户并配置密码
useradd tp && echo 123 | passwd --stdin tp 
统计日志访问量前五的ip
cat file | awk '{print $1}' | sort | uniq -c | sort -r | head -5 
统计ip建立了多少个连接(每个请求会启动一个进程)
netstat -ntu | tail -n +3 | awk '{print $5}' | awk -F ":" '{print $1}' | sort | uniq -c | sorn -r
统计连接成功的ip
netstat -na | grep 'ESTABLISHED' | awk '{print $5}' | awk -F ":" '{print $1}' | sort | uniq -c | sort -r
端口转发
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8000 
查看有那些ipset表
firewall-cmd --get-ipsets
查看ip_ssh表内的ip
firewall-cmd --info-ipset=ip_ssh
校验批量文件
yum -y install diff
find /sbin/ -type f | xargs md5sun > sbin.md3   #批量生成md5值文件
find /sbin/ -type f | xargs md5sum > sbin.md5_2 #再次生成md5文件用于校验
diff sbin.md5 sbin.md5_2    #对比
echo $?     通过返回值进行对比,如果md5对比一致返回0
校验单个文件
md5sum /etc/passwd < passwd.md5 #生成md5值文件
md5sum /etc/passwd -c passwd.md5    #校验
echo $? #如果有修改awk取修改$2查看是哪些文件被修改
命令行写for
for i in $a; do echo $i ; done
命令行写if
if [ -d /opt/ ] ;then echo yes; else echo no ;fi
简单判断
[ $? -ne 0 ] && echo 1
命令行添加crontab
(crontab -l ; echo "* * * * * echo 1" ) | crontab
免密登入
#生成密钥对(/root/.ssh生成id_rsa,pub公钥和id_rsa私钥)
ssh-keygen -t rsa   #基于rsa加密,直接回车到底
#发送私钥
ssh-copy-id root@192.168.1.31

其他
linux重要文件详解
/etc/passwd     #用户
/etc/group      #组
/etc/shadow     #密码
/etc/gshadow    #组密码的影子文件
/boot/vmlinuz   #内核文件
/etc/rc.d/rc.local  #系统初始化以及服务启动完,执行的最后一个脚本
/etc/hosts      #本地解析文件
/etc/hosts.allow    #允许访问的主机
/etc/hosts.deny     #拒绝访问的主机
/etc/resolv.conf    #dns服务器
/etc/fstab  #开机挂载目录
/etc/inittab    #规划控制启动的详细过程
/etc/sudoers    #sudo配置文件
/etc/profile    #全局系统环境配置和变量
/etc/sysconfig/network-scripts/*  #网卡文件
/etc/bashrc     #全局系统环境配置和变量,别名
/etc/pam.d/*    #可插拔认证模块
/etc/init.d/*   #服务开机启动脚本
/etc/rc.d       #启动,或者改变运行级别的scripts目录
/etc/rc.d/init.d/*      
/etc/inittab
/etc/skel       #默认创建用户时,把该目录拷贝到家目录下
/sbin/*         #单用户模式可用的必要命令(可执行文件),普通用户无法执行
/bin/ *         #单用户模式可用的必要命令(可执行文件),面向所有用户
/usr/sbin/*     #非必要的可执行文件(在单用户模式不需要),大量网络服务守护进程
/usr/bin/*  #非必要的可执行文件(在单用户模式不需要);面向所有用户

其他概念理解
cookie:在客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现session的一种方式
session:在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群,数据库和文件中
linux在32位编译好的软件在64能跑,在64位编译好的软件32位不一定能跑,所以在安装系统的时候要统一,最好用64位

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容