linux命令

1.开启某个端口

firewall-cmd --zone=public --add-port=10000/tcp --permanent

2.解压

tar xzvf elasticsearch-6.5.0.tar.gz

3.授权

chmod 775 -R root(路径) 

4.查询文件

ls | grep licen 或者ls licen*

5.为什么ps aux |grep java会出现grep --color=auto java的结果,

因为grep本身也是一个进程,ps会将grep进程的信息也显示出来

6.检查软件是否安装

rpm -q vsftp

which vsftpd

 

7 ifconfig命令查看计算机网卡,ip等信息

查看是否有进程 ps -ef | grep vsftp

 

8.nohup 命令是在后台执行的意思

 

9在Linux系统中对CPU信息的查看通过lscpu这个命令可以快速完成

cat /proc/version
Linux version 4.19.0-arm64-server (deepin@deepin-PC) (gcc version 8.3.0 (Debian 8.3.0-6)) #1635 SMP Mon Jan 13 16:07:12 CST 2020

cd .. // 返回上一级目录

cd - // 返回上一次目录

cd或cd ~ // 返回家目录

cd / // 进入根目录

pwd // 显示当前目录

ls // 显示当前目录文件

ls localrepo/ // 显示指定目录的文件

ll // 查看目录文件的的详细信息

la // 查看全部包括隐藏的目录文件

tree // 查看当前目录文件树

tree mydir // 查看指定目录的文件树

touch hello.py // 创建空文件

mkdir mydir // 创建文件夹

mkdir -p a/b/c // 创建层级目录

mkdir -p a/{b,c}/{d,e} // 同一级创建多个文件夹

cp hello.py ~/hello2.py // 拷贝文件

cp hello.py -i hello2.py // 拷贝文件,如果有同名文件询问是否覆盖

cp hello.py -f hello2.py // 拷贝文件,如果有同名文件强制覆盖

cp hello.py -n hello2.py // 拷贝文件,如果有同名文件不覆盖

mv hello2.py hellocp.py // 重命名文件

mv hello.py ~/Desktop // 移动文件

rm hellocp.py // 删除文件

rm -rf localrepo/ // 递归删除目录

find ~/Desktop/ -name '*.py' // 在指定目录中查找文件

whereis python // 查找可执行程序

which python // 查看当前使用的是哪个目录中的python

ln -s /usr/bin/python ./mypylink // 创建可执行程序的软链接

alias rrm='rm -rf' // 给命令起别名,需要root权限(不建议使用)

history // 查看命令历史

clear // 清屏(快捷键Ctrl+l)

 

@命令速查

rm --help // 查看rm命令帮助

man rm // 查看rm命令的手册解释

info rm // 查看rm命令详细信息

 

@更多查找

find ~/ -name '*.py' -exec rm {} \; 查找家目录下所有的py文件并删除,{}与exec结合匹配所有文件

find ~/ -name '*.py' -exec chown wife {} \; 查找家目录下所有py文件并将所有权转让给wife用户

find ~/ -name '*.py' -exec cat {} \;> record.txt 查找文件并将全部内容拼接并写入文件中

find ~/ -name '*.py' -exec cp {} mydir \; 查找文件并拷贝到指定目录

grep 'def.*' a.py 在a.py中查找指定内容

grep 'def.*' a.py b.py c.py 在多个文件中寻找指定内容

grep -v 'def.*' a.py 在a.py中查找指定内容以外的内容

grep -i "HELLO" a.py 在a.py中查找指定内容并忽略大小写

grep -E "[1-9]+" a.py 在a.py中查找正则表达式匹配的内容(匹配1到多个数字)

grep -F "[1-9]+" a.py 在a.py中查找纯文本内容(严格匹配字符串"[1-9]+")

grep -e "def.*" -e "class.*" a.py 在a.py中查找多个内容

grep "text" ./ -r -n 在当前目录下递归查找内容

 

@系统管理

poweroff 关机

reboot 重启

shutdown -h 12:00 定时关机

shutdown -h now 立刻关机

shutdown -c 取消定时关机

#结合1,查看所有CPU平均负载/每个CPU的具体负载

#结合M/P/T,按内存占用/CPU占用/运行时间的降序,查看进程信息

top 显示所有系统任务

free -m 查看内存占用,以M为单位

uname -a 打印操作系统信息

uptime -p 查看系统运行时间

echo $PATH 查看环境变量

export PATH=$PATH:/home/sirouyang/Desktop/ 追加环境变量

lsof | head -n 10 查看进程打开的文件(一切皆文件,数据文件、网络连接、硬件设备)

lscpu 查看CPU信息

time lsof 统计命令执行时间

cal/date 查看日历和时间

date +%y-%m-%d-%H-%M-%S 格式化地查看时间

# 0-6:0停机-1单用户安全模式-2多用户安全模式-3多用户网络模式-4系统保留级别-5图形界面-6重启

runlevel 显示当前运行级别

init 6 切换运行级别

 

@软件安装

//方式一:通过包管理工具apt进行管理

sudo apt update // 更新软件源

sudo apt search xxx//查找xxx软件包

sudo apt install net-tools //安装net-tools

sudo apt remove --purge net-tools //彻底卸载net-tools

//方式二:编译源码

wget "http://...........xxx.tar.gz" //下载源码包

tar -zxvf xxx.tar.gz //解压源码包

make clean 清除编译的垃圾

make 执行编译

make install 安装

make uninstall 卸载

可选:./configure 如果源码包中自带配置程序则执行之

可选:sudo apt search libxxx //如果编译失败通常会提示缺少xxx依赖,此时应该搜索并安装该依赖

可选:sudo apt install libxxx-dev //安装检索到的依赖

 

@文本命令

cat hello.py // 查看文件

gedit hello.py // 使用gedit查看文件

head -n 10 hello.py // 查看前10行

tail -n 10 hello.py // 查看后10行

less hello.py // 一次查看少量内容,PageUp和PageDown键翻页

vim hello.py // 使用vim打开文件

 

@管道与重定向

sort hello.py | uniq -c // 排序后统计次数

sort hello.py | uniq -d // 排序后找出重复的行

cat /proc/cpuinfo | grep -c processor // 显示CPU核心数

echo 'newline' > hello.py // 将结果写入文件(覆盖)

echo 'newline' >> hello.py // 将结果追加到文件

cat < ~/proc/cpuinfo //将指定的文件作为cat的输入

 

@压缩和解压

tar -cvf /home/abc.tar /home/abc    只打包,不压缩(c=创建压缩包,v=打印信息,f=指定文件名)

tar -zcvf /home/abc.tar.gz /home/abc    打包,并用gzip压缩

tar -jcvf /home/abc.tar.bz2 /home/abc    打包,并用bzip2压缩

tar -xvf abc.tar 解压普通tar包(x=解压缩)

tar -zxvf abc.tar.gz 解压gz压缩包

tar -jxvf abc.tar.bz2 解压bz2压缩包

zip -r xxx.zip abc/* fuck/* temp/* 递归压缩多个文件夹到xxx.zip

unzip xxx.zip #解压zip压缩包

 

@磁盘管理

df -h / 查看磁盘使用情况

sudo du -h ~ 查看用户目录的磁盘使用情况

du -sh 当前目录的总体占用情况

du abc.tar.gz abc.tar 查看文件和目录的磁盘占用

dd if=/dev/zero of=temp.txt bs=1K count=1024 写入一个充满0的文件,每块1K,共1024块,总大小1M

time dd if=/dev/zero of=temp.txt bs=1M count=1024 测试写入1G文件的时间(以此衡量磁盘的读写效率)

 

@登录日志

last 查看用户近期登陆情况

last -2 最近登陆的两个用户

last -2 root 查看root用户最近两次登陆情况

id 显示用户及其群组信息

groups 查看当前用户所加入的组

whoami 显示当前用户名称

 

@用户与权限

groups // 查看所属的工作组

whoami // 显示当前用户名称

sudo useradd -m wife // 新建wife用户,-m=自动创建家目录

sudo useradd -d /home/myson -m son //创建son用户,指定其家目录为/home/myson

sudo useradd -g guests -G root,adm -m him //创建him用户,属于group组,其次也属于adm,root组

sudo useradd -G guests,sudo -m -s /bin/bash mywife // 新增一个用户,-m=自动创建家目录,-s指定bash

userdel rose 删除rose 账号

userdel -r rose 删除用户及相关目录下的文件(/etc/passwd, /etc/shadow, /etc/group等)

usermod -s /bin/ksh -d /home/z –g developer him // 修改him用户的shell、家目录、所属组等信息

sudo passwd // 修改自己的密码

sudo passwd mywife // 修改mywife的密码

sudo su mywife // 切换用户

sudo su // 切换到root用户

sudo groupadd guests // 添加guests组

sudo groupadd -g 101 group1 //添加组group1,识别号为101

groupdel group1 //删除组

groupmod –g 10000 -n group3 group2 //将组group2的标识号改为10000,组名修改为group3

gpasswd -a u1 g1 将u1 加入到 g1 组

gpasswd -d u1 g1 将u1 退出 g1 组

gpasswd -A u1 g1 将g1 组的管理员指派给u1

chmod 421 hello.py // 设置自己、用户组、其他人的权限分别为只读、只写、只执行

chmod a+r,u+wx,g+x,o-wx hello.py // 详细修改全部用户、拥有者、用户组、其他人的权限

 

/etc/passwd文件说明:

是用户管理工作涉及的最重要的一个文件

内容包含7个字段,例如 him❌200:50:Sam san:/usr/sam:/bin/sh

含义分别为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

 

@网络管理

sudo apt install net-tools 安装网络工具

ifconfig // 查看网卡状态

ping 192.168.59.129 // 检查网络是否连通

wget "http://download.redis.io/releases/redis-4.0.9.tar.gz" // 下载redis

sudo apt install traceroute  安装路径追踪工具

traceroute -m 100 www.sina.com 追踪路由信息,最大100跳

netstat -t 列出所有TCP端口

netstat -r 显示路由表

netstat -i 显示接口(网卡)列表

netstat -tpnl 查看已连接的TCP端口和程序名

netstat -anp | grep 3306 -c 查看MySQL的连接数

 

@远程登录

//安装并启动ssh服务

sudo apt install openssh-server 安装openssh-server

sudo ps -ef | grep ssh 查看SSH服务是否启动,还可以netstat -tl | grep 22或systemctl status ssh

sudo systemctl start ssh 如果没有启动则启动SSH服务

//访问远程主机(前提:对方开启了ssh服务,且你知道对方的密码,或对方持有你的ssh公钥)

ssh root@127.0.0.1 访问远程主机

exit 退出远程访问

//执行远程拷贝

scp -r sirouyang@192.168.158.129:/abc /home/wife/Desktop/ 从远程主机拷贝内容到本地

scp -r /abc sirouyang@192.168.158.129:/home/sirouyang/Desktop/ 从本地拷贝内容弄到远程主机(对方没有本地的公钥时需要密码认证)

# ssh公钥交换过程:远程主机持有本地的公钥时,ssh以及scp可以免密执行

ssh-keygen -t rsa 生成ssh秘钥对

scp ~/.ssh/id_rsa.pub sirouyang@192.168.158.129:/home/sirouyang/.ssh/ 上传公钥给远程主机

ssh sirouyang@192.168.158.129 ssh登录远程主机

cat Desktop/id_rsa.pub >> ~/.ssh/authorized_keys 操作远程主机添加公钥认证(今后远程对本地ssh免密)

//一站式让远程持有自己的公钥

ssh-copy-id sirouyang@192.168.158.128 让远程持有自己的公钥(对方不必添加公钥到authorized_keys)

 

如果远程持有自己的公钥后依然无法免密登录,需要修改配置文件,请参考: https://blog.csdn.net/b_x_p/article/details/78534423

 

@进程管理

ps -ef // 查看所有进程(包括登录的其它用户的进程)

ps -aux //查看所有进程(仅当前用户的进程)

ps -ef | grep redis // 查找redis进程

kill -9 77157 // 强行杀死指定pid的进程

kill -15 77157 // 终止指定进程

 

@服务管理

#chkconfig服务管理

apt-get install sysv-rc-conf 安装chkconfig服务

cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig 重命名一下可执行程序

chkconfig --list 查看所有服务的开机启动状态

chkconfig --list mysqld 查看mysql的开机启动状态

chkconfig mysqld on 设置mysql开机启动

chkconfig mysqld off 禁止mysql开机启动

sudo apt install firewalld 安装firewalld

firewall-cmd --state 查看防火墙状态

#原生的service服务管理

service mysql start 启动mysql

service mysql stop 停止mysql

service mysql restart 重启mysql

/etc/init.d/mysql start 启动mysql

/etc/init.d/mysql stop 停止mysql

/etc/init.d/mysql restart 重启mysql

#systemctl服务管理(推荐方式)

systemctl status firewalld 查看服务状态

systemctl start firewalld 启动服务

systemctl stop firewalld 停止服务

systemctl restart firewalld 重启服务

systemctl is-enabled firewalld 查看是否开机启动

systemctl enable firewalld 设置服务开机自启

systemctl disable firewalld 禁止服务开机自启

 

@其它命令

ls -i /usr/bin/python //查看文件的inode

ln /usr/bin/python ./phln // 创建硬链接(共享文件入口)(硬链接不能跨磁盘)

source ~/.bashrc // 使修改后的bashrc生效



作者:小小马里奥
链接:https://www.jianshu.com/p/254366c230cc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

系统
  # uname -a # 查看内核/操作系统/CPU信息
  # head -n 1 /etc/issue # 查看操作系统版本
  # cat /proc/cpuinfo # 查看CPU信息
  # hostname # 查看计算机名
  # lspci -tv # 列出所有PCI设备
  # lsusb -tv # 列出所有USB设备
  # lsmod # 列出加载的内核模块
  # env # 查看环境变量
资源
  # free -m # 查看内存使用量和交换区使用量
  # df -h # 查看各分区使用情况
  # du -sh <目录名> # 查看指定目录的大小
  # grep MemTotal /proc/meminfo # 查看内存总量
  # grep MemFree /proc/meminfo # 查看空闲内存量
  # uptime # 查看系统运行时间、用户数、负载
  # cat /proc/loadavg # 查看系统负载
磁盘和分区
  # mount | column -t # 查看挂接的分区状态
  # fdisk -l # 查看所有分区
  # swapon -s # 查看所有交换分区
  # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
  # dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
  # ifconfig # 查看所有网络接口的属性
  # iptables -L # 查看防火墙设置
  # route -n # 查看路由表
  # netstat -lntp # 查看所有监听端口
  # netstat -antp # 查看所有已经建立的连接
  # netstat -s # 查看网络统计信息
进程
  # ps -ef # 查看所有进程
  # top # 实时显示进程状态
用户
  # w # 查看活动用户
  # id <用户名> # 查看指定用户信息
  # last # 查看用户登录日志
  # cut -d: -f1 /etc/passwd # 查看系统所有用户
  # cut -d: -f1 /etc/group # 查看系统所有组
  # crontab -l # 查看当前用户的计划任务
服务
  # chkconfig --list # 列出所有系统服务
  # chkconfig --list | grep on # 列出所有启动的系统服务
程序
  # rpm -qa # 查看所有安装的软件包
其他常用命令整理如下:
  查看主板的序列号:dmidecode | grep -i 'serial number'
  用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
  查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]
  查看内存信息:cat /proc/meminfo [free -m][vmstat]
  查看板卡信息:cat /proc/pci
  查看显卡/声卡信息:lspci |grep -i 'VGA'[dmesg | grep -i 'VGA']
  查看网卡信息:dmesg | grep -i 'eth'[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']
  查看PCI信息:lspci (相比cat /proc/pci更直观)
  查看USB设备:cat /proc/bus/usb/devices
  查看键盘和鼠标:cat /proc/bus/input/devices
  查看系统硬盘信息和使用情况:fdisk & disk – l & df
  查看各设备的中断请求(IRQ):cat /proc/interrupts
  查看系统体系结构:uname -a
  查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b]
  查看硬件信息,包括bios、cpu、内存等信息:dmidecode
  测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev ?
  查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v
  查看当前系统中已经应用的补丁:showrev –p
  显示当前的运行级别:who –rH
  查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind
  查看硬件信息:dmesg | more
  显示外设信息, 如usb,网卡等信息:lspci
  查看已加载的驱动:
  lsnod
  lshw
  查看当前处理器的类型和速度(主频):psrinfo -v
  打印当前的OBP版本号:prtconf -v
  查看硬盘物理信息(vendor, RPM, Capacity):iostat –E
  查看磁盘的几何参数和分区信息:prtvtoc /dev/rdsk/c0t0d0s
  显示已经使用和未使用的i-node数目:
  df –F ufs –o i
  isalist –v
  对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
  主机CPU信息:Cpuinfo
  主机DMA通道信息:Dma
  文件系统信息:Filesystems
  主机中断信息:Interrupts
  主机I/O端口号信息:Ioprots
  主机内存信息:Meninfo
  Linux内存版本信息:Version
备注: proc – process information pseudo-filesystem 进程信息伪装文件系统
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值