设置永久命令行启动:
syetemctl set-default multi-user.target
查看LINUX发行版本(centOS):
cat /etc/redhat-release
lsb_release -a (使用前需安装 yum install -y redhat-lsb)
查询CPU信息:
cat /proc/cpuinfo |grep "model name" | uniq
查询内存信息:
cat /proc/meminfo |grep MemTotal
查询内存使用情况:
free -hl
查询硬盘大小:
df -hl
查看所有分区及总容量:
fdisk -l
对sdb硬盘进行分区:
fdisk /dev/sdb
查看端口是否占用:
**显示所有连接中的socket:**
netstat -anp|grep 端口号 【tcp对应端口有LISTEN,表被使用】
**仅显示与tcp有关的:**
netstat -ntl
查看linux系统的内核版本:
cat /proc/version
查看正在使用的内核版本:
uname -r
rpm -qa |grep kernel-devel
显示机器的处理器架构(x86_64)
uname -m
查看当前使用终端:
who am i
查看所有终端:
who
显示系统日期:
date / date + %Y%m/%d(设置显示的格式)
显示日历表(+y 可显示年日历表):
cal
显示网卡信息:
ifconfig
测试机器连通情况:
ping -c n Ip/域名 n表示指定次数
获取应用进程:
ps -aux|grep 应用名称
动态实时显示CPU、内存、进程等情况:
top
top -d 2 -p 进程号 (d:数据更新的秒数)
查看服务器状态(内存、cpu、io读写情况):
vmstat 2 10 (每2s采集一次,共采集10次)
查看io读写情况、CPU使用情况:
iostat
查看CPU使用情况:
sar -u 3 5 (3s一次,共5次)
评估磁盘性能:
sar -d 2 4 (2s一次,共4次)
强制杀死进程:
kill -9 进程号
查看正在运行的服务:
systemctl
进程:
三种状态:
就绪:获得了除CPU之外的所有资源
执行:获得了全部资源,正在执行
阻塞:由于其他事件导致进程无法继续执行
终止/暂停某工作: ctrl c / z
查看后台所有任务: jobs
+:即将被fg释放的对象
-:即将被fg操作的下一个对象
切换任务: fg %任务编号
查看所有用户的tty进程: ps -aux
查看当前用户的所有进程: ps -ef
Linux中的文件/目录颜色含义:
蓝色:目录 绿色:可执行文件
浅蓝: 软链接 灰色:其他文件
黄色:与设备有关的文件 红色:压缩文件/损坏的软链接
Linux下的目录结构:
/:根目录
root:用户属主目录
home:普通用户的属主目录
etc:启动文件、配置文件、脚本
boot:系统核心文件
dev:与设备相关的文件
lib:编译程序用到的函数库
usr:安装的应用程序
bin:普通用户常用的命令
sbin:系统管理常用的命令
var:系统日志文件log
mnt:挂载时建议使用的目录
media:自动挂载时使用的目录
文件的完整属性信息(七部分):

第一部分:文件类型(第一列)+权限(后九列)
文件类型: d [目录] 、- [普通文件] 、l [链接文件]
权限:九列共三组,(所有者、所在群组、其他人员的权限)
第二部分:节点(每增加1个硬链接,节点数+1)
第三部分:所有者
第四部分:所在群组
第五部分:文件大小
第六部分:时间
第七部分:文件/目录名称
显示文件及目录的详细信息(含隐藏文件):
ls -alt
显示详细信息(不含隐藏文件):
ls -l
仅显示目录/文件名称:
ls
显示文件类型:
file 文件/目录
文件/目录操作:
创建目录: mkdir 新的目录名称
创建递归目录: mkdir x/y/z
创建同级目录: mkdir x y z
创建文件: touch a.txt
删除文件: rm 文件名
删除空目录: rmdir 目录名称
删除目录/文件: rm -rf 目录/文件
删除乱码文件:
需先使用ls -i 查到乱码文件的inode
inode为文件/目录前的数字字符串
find -inum (inode) -exec rm -rf {};
移动单文件:
mv 源文件 目标文件/目录
移动多文件:
mv -t 目标目录 文件1 文件2(加上文件后缀名)
复制文件到目标目录下:
cp -ai 文件/目录 目标目录
-a:文件属性、目录下的所有文件
-i: 表示覆盖前询问
复制文件至目录(仅复制文件):
cp 源文件 目标目录
将指定目录下的文件与子目录一并复制:
(针对不在当前目录下的文件)
cp -r 源文件/目录 目标目录
复制文件至另一服务器:
scp 源文件 [email protected]目标服务器IP:目标路径
创建软/硬链接:
**软链接:(常用于软件安装时建软链接到path,类似快捷方式)**
ln -s 源文件(绝对路径) 目标文件
**硬链接(-d可省略):**
ln -d 源文件(绝对路径) 目标文件
软链接与硬链接的区别:
a.建立硬链接时,源文件需与链接文件位于同一文件系统中;软链接可在不同文件系统中;
b.删除源文件,硬链接文件依然有效,软链接文件会失效。
硬链接与复制的区别:
增加硬链接,节点数增加;
修改源文件,硬链接会跟着修改
文件权限:
**改变文件的所有者及所属组:**
chown [-R] user:group 文件(夹)名
-R : 表示目录及以下文件全部修改
**变更文件的读写权限:【不接R时,表示文件】**
chmod [-R] 777 文件(夹)名
chmod [-R] u=rwx,g=rwx,o=rwx 文件(夹)名
a:表示all
chmod [-R] u+r,g-w,o-x 文件(夹)名
文件查找、搜索:
**系统全局范围内查找包含“文件名”内容的文件:**
locate 文件名
原理:从数据库读取文件,需先执行updatedb
**在目录结构中查找文件:**
find 目录路径 -exec 相关命令操作
**查找文件中包含hello内容的.log文件**
find . -name '*.log' | grep hello
**使用正则表达式搜索文件/目录:**
grep [-option] '搜索内容' 文件名
-n 显示匹配行及行号
-c 仅显示匹配行的计数
正则表达式: ‘=<查找内容’ 从匹配内容开始
‘>=查找内容’ 从匹配内容结束
查看安装软件的所有文件路径(仅包括二进制文件、源代码文件、man手册页)
where is java
查看文件内容:
cat [-n] 文件名
-n 显示行号(包括空行)
-b 显示行号(不包括空行)
**按页显示文件内容:**
less 文件名
上下键可翻页,pageup/pagedown 向后翻页
**显示第一页内容:**
more 文件名 只能向后翻页
回车键:一行一次
空格:一页一次
**显示前n行内容(默认10行):**
head -n 文件名 【+n 表示从n行开始】
**显示末尾n行内容(默认10行):**
tail -nf 文件名
【+n 表示从n行开始; f 表示实时更新,用于日志文件查看】
**查看文件中含有abc所在行后10行内容:**
cat 文件名|grep abc -A10
A10: 表后10行
B10: 表前10行
**显示文件的第二行至最后一行内容:**
sed -n '2,$p' 文件名
**显示文件包含待搜索内容的行:**
sed -n '/搜索的内容/p' 文件名
**退出查看:** q
文件处理:
**将结果输出到文件中,若文件存在内容,则覆盖**
ls -l>file 【>> 表示追加内容】
**将文件作为命令的输入:**
command<文件名
**删除文件的第n行至最后一行内容:**
sed -i 'n,$d' 文件名
**在最后一行的下一行增加字符串:**
sed -i '$a 字符串内容' 文件名
**替换文件内容:**
sed -i 's/oldstring/newstring/g' 文件名
用户权限:
**创建用户:**
useradd -U 用户名 【-U:指定UID ,不指定时按序排列】
**删除用户:**
userdel -r 用户名 【-r:把用户的主目录一起删除】
**修改用户的组:**
usermod -g 组名 用户名 【组名可为GID,但组必须已存在】
**将用户添加至组:**
usermod -aG 组名 用户名 【-G:可叠加,需用逗号隔开】
**查看用户的所有组:**
groups 用户名
**修改用户的UID:**
usermod -U UID 用户名
**显示用户的UID、GID及所拥有的群组:**
id 用户名
挂载与取消挂载:
**挂载硬盘sda1至mnt目录下,将原文件隐藏,文件改为只读:**
mount /dev/sda1 /mnt 【设备一般挂载到/dev/文件名下】
**挂载ios文件:**
mount -o loop /iso文件路径 /media/挂载路径
**取消挂载:**
umount 挂载的路径/文件名
压缩/解压/打包/备份:
**查看文件类型,确认压缩方式:**
file 文件名
**解压.tar.gz压缩文件至目标目录:**
tar -zxvf 压缩文件.tar.gz -C 目标目录
**压缩目录及子目录文件为.tar.gz格式的压缩包:**
tar -zcvf 压缩文件存放路径/文件名.tar.gz 被压缩的目录/文件
**解压.tar.bz2压缩文件至当前目录:**
tar -jxvf a.tar.bz2
**压缩a目录及子目录文件为c.tar.bz2至当前目录:**
tar -jcvf c.tar.bz2 ./a/
**解压a.zip文件至当前目录(使用与解压war包):**
unzip a.zip
unzip -o test.war -d 解压目录路径
-o:覆盖原有文件
-d:指定解压目录
**压缩a及以下目录文件为c.zip**
zip -r c.zip ./a/
**压缩file文件为bz2格式压缩文件:**
bzip2 -k file (-k:表示保留源文件)
**解压file.bzip2,并保留源文件:**
bzip2 -d -k file.bz2
**压缩file文件为.gz格式文件:**
gzip file
**最大程度压缩:**
gzip -9 file
**解压file.gz文件:**
gzip -d file.gz
linux机器间的远程连接:
ssh 要远程连接的IP
exit 退出远程连接
linux下三个重要的文件:
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 群组信息
软件安装:
*yum(常用)、rpm包安装、手动的编译安装*
**yum安装:**
安装“包”,需联网:yum -y install 包名
清除下载后的缓存:yun clean
缓存文件目录:/var/cache/yum
重新安装:yum -y reinstall 包名
升级包:yum -y update 包名
移除包:yum -y remove 包名
自动选择最快的yum源安装:yum -y install yum-fastestmirror
查看包是否存在更新包:yum check-update 包名
查看软件的信息:yum info 软件名称
**rpm安装:**
下载到opt目录下: wget -p /opt http://网址 -p:断点续传
安装rpm包,若存在依赖包,需先安装依赖包:
rpm -ivh a.rpm
升级指定的rpm包:rpm -Uvh a.rpm
升级指定的已安装的rpm包:rpm -Fvh a.rpm
查看已安装的rpm包:rpm -qa|grep a
查看rpm包的安装路径:rpm -qa a
卸载指定套件:rpm -e 包名
**手动编译:**
1.需下载源码包,使用tar -zxvf 包名.tar.gz 解压
2../configure --prefix=安装路径
3.编译:make
4.安装:make install
5.清除安装过程中产生的临时文件:make clean
**卸载软件:**
rm -rf 软件目录名称