linux 常用命令

目录

目录 作用
/ 根目录。linux只有唯一的根目录
/boot 该目录存放linux启动所需的内核文件和镜像文件
/bin bin是Binaries(二进制文件)的缩写,这个目录存放着经常使用的命令
/cgroup 用来分配 CPU time,系统内存, 网络带宽等资源 (刚安装的 CentOS 7 中是没有这个目录的)
/dev dev是Devic(设备)的缩写,该目录下存放的是linux的外部设备,在linux中访问设备的方式和访问文件的方式是相同的 这个目录用来存放所有的系统管理所需要的配置文件和子目录
/etc etc是Etcetera(等等)的缩写,这个目录用来存放所有系统管理所需要的配置文件和子目录 这个是系统中的配置文件, 如果你更改了该目录下的某个文件可能会导致系统不能启动
/home 用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/root 该目录为系统管理员,也称作超级管理员root用户的主目录
/lib 这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的DLL文件。 几乎所有的应用程序都需要用到这些共享库。
/lib64 这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的DLL文件。 几乎所有的应用程序都需要用到这些共享库。(它与 /lib 的不同点是 lib64 存储着 64位 CPU 所特有的库)
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 这里的文件主要用于非正常关机后没有保存到磁盘里的文件或未保存的配置(刚安装的 CentOS 7 中是没有这个目录的)
/media linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/上,然后进入该目录就可以查看光驱里的内容了
/opt 这是给主机额外安装软件所摆放的目录。 比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的 ping 命令,使别人无法 ping 你的机器 (echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all)
/sbin 就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/selinux 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的(刚安装的 CentOS 7 中是没有这个目录的)
/srv 该目录存放一些服务启动之后需要提取的数据
/sys 这是 linux2.6 内核的一个很大的变化。 该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建
/tmp 这个目录是用来存放一些临时文件的
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下 类似与 Windows 下的 program files 目录
/usr/bin 系统用户使用的应用程序
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录
/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。 包括各种日志文件 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里

开关机

#开关机:(shutdown命令的时间参数似乎是一定要的)
shutdown -h now  #——h的意思就是服务停掉之后立即关系,shutdown命令的时间参数是必须要的,now相当于是0
shutdown -h +10  #——十分钟后关机 shutdown -h 23:12 23:12关机 
shutdown -r now  #——立即重启,将服务停掉之后立即重启

文件夹/文件操作

命令 作用
cp 复制粘贴
mv 剪贴/重命名
rm 删除文件,但不能删除目录
rm -rf #删除文件夹 r是递归删除子文件,f是force不作询问
rmdir #删除空文件夹

文件修改/查看

命令 说明
vi 打开或者是新建一个文件
vim 和vi一样
i 从光标处开始输入
o 从下一行开始输入
G 光标移到最后一行 1G——光标移到第一行
x 删除(其实直接编辑模式删就行) 3x——删除后面注意是后面的3个字符
dd 删除游标所在那行 ndd——删除游标下面注意是下面的n行
d1G 删除游标之前的所有内容 dG——删除游标之后的所有内容
yy 复制光标这行 nyy——复制光标下面的n行 y1G——复制光标上面的所有内容
yG 复制光标后面的所有内容
p / P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!
ctrl+r 复原撤销相当于 u——撤销 ,
. 一个点:.——重复刚刚那个动作,可以重复删除啊,复制啊什么的
:w 保存,(按esc之后输入)
:q 立刻退出,(按esc之后输入)
:q! 不保存退出,(按esc之后输入)
:wq 储存后离开,若为 :wq! 则为强制储存后离开 ,(按esc之后输入)
cat 直接显示所有内容
less 可以上下翻滚,进入后按“/”可以匹配文字 按q退出 很强大 关于less的搜索字符(vi好像也可以用) 向前搜索: / - 使用一个模式进行搜索,并定位到下一个匹配的文本 n - 向前查找下一个匹配的文本 N - 向后查找前一个匹配的文本 向后搜索 ? - 使用模式进行搜索,并定位到前一个匹配的文本 n - 向后查找下一个匹配的文本 N - 向前查找前一个匹配的文本
more more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。

磁盘

命令 说明
df -hl 查看磁盘剩余空间
df -T 查看分区的文件系统
df -h 显示所有文件系统的可用空间还有使用情况,-h是以人类看得懂的方式显示内存
du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹),-h是以GB,MB的方式显示,不指定文件目录的话会列出所有文件夹和文件的所占内存还有所在文件夹的总内存
du -sh [目录名] 返回该目录的大小,这个-s的意思是列出所在文件夹的所占内存,-h是以比较容易看懂的方式显示
du -sm [文件夹] 返回该文件夹总M数
du -h –max-depth=1 * 查具体文件和文件的大小用
ls -lh 只查看文件的大小使用
sudo fdisk -l 查看硬盘的分区
sudo hdparm -i /dev/hda 查看IDE硬盘信息
sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id #查看STAT硬盘信息

查看cpu、内存、磁盘、网卡等基本信息

查看cpu信息   
附:cpu基本信息计算
​
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
1、 lscpu 查看CPU详细信息 ,含超线程数等信息
​
CPU(s) : 表示逻辑cpu数,这里是4个。     
Socket(s) : 表示物理cpu数,这里是4个。
Thread(s) per core : 表示每个cpu有1个超线程。
Core(s) per socket : 表示每个cpu有1个核。
​
2、top
---------各项指标解析---------------------------------------------------
第一行统计信息区
14:58:32                     当前时间
up 75 days, 43 min             系统运行时间,格式为时:分
2 users                     当前登录用户数
load average: 1.03,1.13,0.79  系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
​
Tasks:进程相关信息
running   正在运行的进程数
sleeping  睡眠的进程数
stopped   停止的进程数
zombie    僵尸进程数
Cpu(s):CPU相关信息
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序
%ni:表示用户空间且通过nice调度过的程序的cpu使用率
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
Mem  内存信息  
total 物理内存总量
used 使用的物理内存总量
free 空闲内存总量
buffers 用作内核缓存的内存量
Swap 内存信息  
total 交换区总量
used 使用的交换区总量
free 空闲交换区总量
cached 缓冲的交换区总量
​
3、查看pid线程
top -p 进程pid -H

压缩解压

tar.gz压缩、解压

命令 说明
tar -zxvf xxx.tar.gz 解压tar.gz文件
tar -czvf my.tar.gz dir1 dir2 多个目录压缩打包
tar czvf my.tar.gz dir1 单个目录压缩打包
tar czvf my.tar.gz file1 file2 ...(file*) 多个文件压缩打包((也可以给file*文件mv 目录在压缩))

zip压缩、解压

命令 说明
zip -r -o dist.zip dist/ 显示压缩过程
zip -r -o -q dist.zip dist/ 不显示压缩过程
zip -r -e -o password.zip dist/ 创建加密zip包,此命令需要在终端输入2次密码
zip -r -o -q -l dist.zip dist/ 让压缩包在window系统上也能用
unzip dist.zip 默认会显示解压内容
unzip -q dist.zip 不显示解压过程
unzip -q dist.zip -d portal -d 参数将文件解压到特定文件夹中
上面的命令会将dist文件夹所有文件都打包到dist.zip中,其中指令参数: -r:递归处理,将指定目录下的所有文件和子目录一并处理 -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同 -q:不显示压缩过程 -e:使用加密压缩,需要输入2次密码 -l:压缩文件时,把LF字符置换成LF+CR字符。 LF(Linux 中的换行), CR+LF(Carriage-Return+Line-Feed:windows 上的回车加换行) -ll:压缩文件时,把LF+CR字符置换成LF字符。

查看端口

命令 说明
netstat -alnp | grep 8081 也可 ps -ef | grep java 查看8081端口/查看java进程端口,ps -ef是显示所有进程信息 后面那个grep是匹配的意思
ps -ef | grep 8081 查看端口占用状态
kill -9 123123 杀掉进程,后面数字是进程的进程号pid,多少个进程要kill好像都可以写在后面

防火墙

命令 说明
systemctl start firewalld.service 启动防火墙服务
systemctl stop firewalld.service 关闭防火墙服务
systemctl restart firewalld.service 重启防火墙服务
systemctl status firewalld.service 显示防火墙服务的状态
systemctl enable firewalld.service 开机启动防火墙
systemctl disable firewalld.service 开机禁止启动防火墙
systemctl is-enabled firewalld.service 查看防火墙是不是开机启动
systemctl list-unit-files | grep enabled 查看已经启动的服务列表
systemctl --failed 查看启动失败的服务列表
systemctl daemon-reload 刚刚配置的服务需要让systemctl能识别,就必须刷新配置
firewall-cmd --state 显示防火墙状态
firewall-cmd --zone=public --list-ports 查看防火墙中所有打开的端口
firewall-cmd --reload 更新防火墙规则
firewall-cmd --zone=public --add-port=80/tcp --permanent 实例,开80端口 ,permanent永久生效,没有这个参数重启后就失效
firewall-cmd --reload 刷新一下防火墙
firewall-cmd --zone=public --query-port=80/tcp 查看一下防火墙80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent 删除这个端口的开放

你可能感兴趣的:(小冷的程序人生,linux,服务器,运维)