linux 基本操作回顾

linux 常用操作命令(默认超级用户下)

创建用户
useradd eric
id 用户名 查看用户所属详细信息

用户切换
	sudo - root   普通用户切换到管理员用户
	exit          退出当前用户
修改密码
	passwd 
	echo 123 | passwd --stdin root #直接修改

回写命令 echo
管道 | 左边命令执行的结果交给下一个命令作为输入。

删除用户
	userdel 用户名 部分删除;仅是删除用户信息,家目录和邮箱文件删不掉
	userdel -r 用户名 全部删除
	
查看帮助信息
	man passwd
	passwd --help
	
查看历史操作信息
	history
	!命令序号 执行某条历史命令   !163
	histoty -c 清除所有历史操作命令
	
linux机器操作
	init 0 关机
	shutdown -h now 立即关机
	init 6 重启
	
切换(开启)终端
	ctrl +Alt +F..
	
查看用户
	who 查看当前都登陆了哪些用户和终端
	tty 查看当前用户所在终端
		pts/0 代表当前用户终端
	whoami 查看当前登录的用户

日期操作:
	date  查看当前时间
	date 月日时分年   修改时间 例子:date 031511112017
	
	cal	 查看日历
	cal 月 年 查看某年某月的日历 例子:cal 3 1990

清屏
	clear 

查看本机主机名:
	hostname
修改主机名:
	hostnamectl set-hostname 新名字
	
目录结构文件操作

	单根模式 /   树形结构
	
	ls 默认查看当前目录下的所有信息
	ls 参数 查看指定目录下的所有文件信息 ls /etc/
	pwd 查看当前所在目录
	cd 路径  切换目录
	
各文件作用
	bin 常用命令
	boot 启动盘
	etc  配置文件
	dev
	sbin 系统命令
	media或mnt 挂载目录
	tmp 临时目录

目录操作
	增:
	mkdir /a 创建目录
	mkdir -p /b/p 递归创建目录
	
	查:
	ls 查
	ls --help | less 分页查看
	ls -d 只查看目录
	
	改:
	mv /a/f /a/f1 改目录名
	mv /a/e /b/   移动文件 移动之后,原路径下文件不再存在
	mv /a/e /b/e1  移动文件并重命名
	
	删:
	rm /a  删除某个文件
	rm -rf /a/b/c.txt 强制递归删除整个目录
	
文件操作:
	创建:
	touch a.txt 在当前目录下创建文件
	touch /a/b/a.txt 在指定路径下创建文件
	删改查操作与目录一致
	
	查看文件内容
	cat aaa.txt  查看文件内容  读一行显示一行
	less aaa.txt 分页查看文件内容
	more aaa.txt 百分比查看文件内容
	
	head /tmp/a.txt  默认查看前10行内容
	head -n 1 /tmp/a.txt 查看第一行内容
	
	tail /tmp/a.txt 查看后10行内容
	
	tail -f /tmp/a.txt 动态查看文件内容,有新内容写入就会显示
	echo aaaaaaasssdf > /tmp/a.txt  覆盖形式向文件添加内容
	echo bbbb >> /tmp/a.txt    往文件中追加写入内容
	用途:用于日志监测
	
	shift + g 跳到文件的最后一行
	
用户属组与属主关系
	uid 用户id 
	gid 组id(初始组,默认是用户id) 主组
	组 = 所属组/附加组(某一组的组员)
	gpasswd   设置组密码

创建用户:
	useradd 
		-u(自定用户的uid) 
		-g(指定用户所属群组) 
		-d(指定用户的家目录) 
		-c(指定用户的备注信息) 
		-s(指定用户所有shell)
		-G(指定用户的附加组)

	groupadd group1 创建组
	groupdel group1 删除组

用户分组:
	usermod -G 组名  把用户加入某个组

拷贝
	cp -r /etc/skel/ /home/rose 把文拷贝到rose文件下

查看目录详细信息	(有权限,属主,属组) 文件详细信息 ls -l /home/rose/	
	ls -l =========ll
	ls -dl /home/rose 

	例子:d rwx    r-x   r-x .3 root  root 74 3月 15 10:47 /home/rose/
			主人   分组  其他
			权限                属主  属组
	补充:去除监控,修改 vim /etc/sysconfig/selinux 文件的信息   selinux=disabled 
	d 代表目录,/代表普通文件

	ll -a /home/rose 查看目录下的所有文件详细信息
	
修改 目录/文件 信息
	chown -R 属主.数组 /home/rose/ (-R的意思是递归修改目录下所有文件详细信息)

权限:r=4,w=2,x=1

目录的权限对其下可操作文件权限是有影响的。root是超级用户,可以对所有文件进行操作	
	
修改文件权限: chmod u=权限,g=权限,o=权限 文件       例子:chmod o=- a.txt
	u 代表用户,g代表组,o代表其他
	
	权限的变更	增加权限做加法计算;例如:u+x ; 降低权限做减法计算;例如:u-x
	也可以通过数字表示 u=7,g=4,o=4
	
执行文件方法(文件需要有读和可执行权限):./文件	例子:./a.txt

tar归档命令 打包(压缩和解压缩)
	v 代表显示详细信息
	打包某文件夹下所有文件 tar cf 打包后的文件名 处理的文件
	例如:tar cf test.tar a.txt b.txt c.txt
	查看归档文件信息:tar -tf test.tar
	解包(默认解压到当前路径):tar xf test.tar   
	解包到指定目录下:tar xvf tar文件 -C 要解包到的目录; 例子:mkdir /bsk tar xvf test.tar -C /bsk

压缩工具 gzip,bzip2
	
	压缩 gzip a.txt  得到gz格式的压缩文件 a.txt.gz
	解压缩 gunzip a.txt.gz  解压之后文件 a.txt

	压缩:bzip2 e.txt 得到bz2格式的压缩文件 e.txt.bz2
	
	压包
	tar cvzf test1.tar.gz a.txt b.txt c.txt 打包并压缩文件 格式:gz
	tar cvjf test2.tar.bz2 a.txt b.txt c.txt 打包并压缩文件 格式:bz2
	解包
	tar xf 包名   解包的过程中不区分包的格式 
	
vim编辑器
	i 插入模式
	a 追加模式
	o 下一行
	O 上一行
	p 粘贴
	dd 剪切(删除)一行,仅删除有内容的行,不能删除空行!
	D 删除空行
	ndd 一下删除n行
	撤销操作:U
	gg 跳到文件的头部
	set nu 设置行号
	
ls -i 文件名 查看文件的innode号
	
软连接 可以理解为是 快捷方式 创建可以跨分区(与innode号无关)
	ln -s 原文件 快捷方式 	
	ln -s /a.txt /boot/aa.txt
	源文件丢失,对快捷方式会造成影响
	
硬链接 指向的是文件的innode号 创建不能跨分区
	ln 源文件 连接文件
	ln b.txt c.txt
	源文件丢失,对硬连接文件不会造成影响

查看内存信息	
	free  默认单位是字节
	free -m 以M为单位显示
	uname -a 查看内核版本号	
	cat/etc/redhat-release 查看红帽的版本信息
	
	swapon -s 	查看swap分区
	
	解决硬盘与内存间的速度差
	buffer  代表还未写入硬盘中的数据
	cache   代表从硬盘读取的数据
		
	echo 3 > /porc/sys/vm/drop_caches 释放内存,清除cache的信息

	cat /proc/meminfo  #查看内存信息
	cat /proc/cpuinfo  #查看cpu信息

	
	top 动态查看系统状态(如果机子太卡,想看都在运行哪些软件)
	ps aux 静态查看系统内运行状态
	
进程管理

	定义:
		进程是程序的一次动态执行
		守护进程实在后台运行并提供系统服务的一些进程
		当一个进程创建另一个进程时,第一个进程被称为新进程的父进程,而新进程被称为子进程
		僵尸进程:系统不再调用而还在占用内存空间;常见情况:父进程死了,子进程还在执行
		
	查看系统中的进程(每执行一条命令都会生成一条进程)

		ps aux 查看所有的进程信息
		ps aux | grep gname 查看带有gname关键字的进程
		
		pgrep 仅查看某个进程的pid,例如:pgrep init
		
		pstree 查看全部树状结构的进程信息;pstree tom 查看某个用户下的所有进程
		
		
	杀死进程
		kill -9 进程pid 例如:kill -9 3489
		pkill -9 进程名 例如:pkill -9 firefox

	后台执行应用程序不占用终端:执行命令+& ;例如:firefox&
	查看后台执行的工作命令:jobs	

软件包管理:
	dd 命令 用于测试硬盘的写速度;例如:dd if=/dev/zero of=/a.txt bs=1G count=1
	
	如何在linux系统中安装软件包
		1、二进制类型的;光盘中就有 
			查看 df 
				cd /Packages 查看光盘内信息
				cd/run/media/root/CentOS
		2、源码包:需要解压,编译再安装
	
	安装二进制包
		rpm -ivh 包名 安装包
		
		rpm -qi 包名  查看软件包的详细信息 
		rpm -ql 包名  查看与软件包相关文件的路径
		rpm -qa 	  查看系统中安装了多少rpm包,用于:验证系统中有没装某个包 rpm -qa | grep vsf;rpm -q 完全的软件包名
		
		rpm -qf 文件路径 用于查看关联的软件包
		rpm -e ·rpm -qa |grep vsf· 删除软件包
		
		which ls 用于查看命令对应的文件位置
		
	echo $PATH 查看某个变量对应的值
		
alias 用于自定义命令
	例如:alias gst = "kill -9"
		  alias cys = 'pgrep firefox'
	应用:终端上先敲入: cys 查看进程号;然后 gst 进程号 杀死这个进程
	
yum 安装 (同一时刻,只能运行一个)
	yum clean all 先将存在于缓存中的安装依赖清除	
	yum install 包名 安装包,有提示信息
	yum -y install 包名 默认全部安装,不再提示
	
	yum uninstall 包名 卸载包
	yum -y erase 包名 卸载某个包,依赖性关系没删,本体被删除
	
	yum reinstall 包名 重新安装包
	
	yum -y update 升级所有(包括内核,系统,软件包)
	yum -y upgrade 升级软件包
	
	安装扩展包 epel     yum -y install epel
	yum makecache -y 建立缓存,提高软件包下载速度
	
	把软件包保留在本地
	
	修改 /etc/yum.conf文件 vim /etc/yum.conf
		cachedir = 指定存储路径
		keepcache = 1

	自定义yum源	
		0、修改yum配置文件,下载到指定的文件夹内,例如:cangku_http
		1、yum -y install createrepo 先安装用于创建的工具包
		2、createrepo /cangku_http 建立依赖关系
		3、自定义repo文件
			[httpd]
			name = http_server 自定义r
			baseurl = file:///cangku_http 创建的安装源文件路径
			enabled=1
			gpgcheck=0
		4、yum install 包名 在本地安装	
	
	自定义网络yum源
		1、在 yum.repos.d目录下创建centos-7.0.repo
		vim centos-7.0.repo
		[centos]
		name=centos
		baseurl=http://mirror.centos.org/centos/7/os/x86_64/
		enabled=1
		gpgcheck=0
	
	将yum自动更新关掉:
		1、打开文件目录:cd /etc/yum 
		2、修改文件 vim yum-cron.conf
		3、文件内参数:download_updates = no

源码安装:
	1、先安装工具包
	 yum -y groupinstall "开发工具"
	 yum install gcc-* glibc-* make cmake -y
	2、解压源码包 tar xvf xxx.tar.gz -C /test
	3、切到解压到的文件 cd /xxx
	4、编译./configure --help
	5、make && make install

查询系统其他命令	
	vmstat 硬件使用情况
	iostat 读写速读
	netstat 查看网络状态
	netstat -tunalp 查看网络监听的所有信息

配置网卡

临时修改

	ifconfig 网卡名 IP地址
	DNS:vim /etc/resolv.conf

	网关:

	(填加)route add default gw 网关  netmask 255.255.255.0

	(删除)route del default gw 网关  netmask 255.255.255.0

	查看配置:route -n

	重启网卡:systemctl restart network

永久配置

	cd /etc/sysconfig/network-scripts/

	vim ifcfg-en033(网卡)

	BOOTPROTO="static"

	IPADDR=

	NETMASK=

	GATEWAY=

	DNS1=

	DNS2=

	保存退出

	重启网卡。

	查看和更改DNS配置:cat /etc/resolv.conf

	DNS  配置本地解析地址 设置主机名和解析地址

计划任务 crontab

    计划时间内要完成的任务,包已自动安装,并开机自启动
    首先需要知道的是,无论是系统级还是用户级的cron计划都是文本文件,系 统的计划文件存放在/etc/crontab路径下。
    用户的计划文件放在/var/spool/cron/用户名,不管是哪一种,都可以满足我们定制计划任务的需求。
	root用户可以直接对文件进行修改来编写计划任务也可以使用 crontab -e命令,而普通用户只能使用后者。
     除此之外,系统crontab文件中任务的定义也有所不同,在前五个部分之后插入了一个“用户”部分。

	语法 :crontab -e -u 用户名(权限)
		crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
	
	crontab任务配置基本格式:

	    *  	    *    	*  		*  		*   command
	分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

	第1列表示分钟1~59 每分钟用*或者 */1表示
	第2列表示小时1~23(0表示0点)
	第3列表示日期1~31
	第4列表示月份1~12
	第5列标识号星期0~6(0表示星期天)
	第6列要运行的命令

	参  数: 
	-e  编辑该用户的计时器设置。 
	-l  列出该用户的计时器设置。 
	-r  删除该用户的计时器设置。 
	-u<用户名称>  指定要设定计时器的用户名称。

	查看计划任务配置 crontab -l date +%F_%T 时间格式 

	实例:* * * * * echo ' date +%F_%T ' >> /tmp/test.log   每分钟将数据打印到log文件中

	查看cron服务是否起作用:
		如果我们要查看定时任务是否准时调用了可以/var/log/cron中的运行信息cat /var/log/cron
		也可以用tail -f /var/spool/mail/用户名,来查看普通用户的计划任务执行情况

	此处需要记住两点:
		第一:cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。
    这样,当某个 crontab 文件改变后就不必重新启动守护进程了。
		第二:crontab的用户手册中推荐每一个命令使用绝对路径,例如调用rm命令时写作:/bin/rm,这是为了防止由于每一个用户的PATH环境变量不同而导致命令无法找到的错误。

  

posted @ 2017-10-01 21:52  细雨蓝枫  阅读(175)  评论(0编辑  收藏  举报