天天看点

LINUX系统-基本操作命令

设置永久命令行启动:

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:自动挂载时使用的目录
           

文件的完整属性信息(七部分):

LINUX系统-基本操作命令

第一部分:文件类型(第一列)+权限(后九列)

文件类型: 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 软件目录名称
           

继续阅读