学习总结 一

@学习总结

一, linux基础命令

查看系统基本信息

1 查看主机信息

hostname		查看主机名					 
cat 			查看文件 
uname -r		查看内核版本
lscpu			查看cpu
free -h 		查看内存大小

2 用户登录信息:

id -u username	查看用户uid	
passwd username	修改用户密码
whoami			显示当前登录有效用户
who am i		查看当前登录的用户的信息
who				系统当前所有的登录会话
w				系统当前所有的登录会话及所做的操作

3 日期和时间

date显示和设置系统时间
	date +%s
	date -d @1509536033
clock 显示硬件时钟
	-s	时间校正以硬件时间为准
	-w	时间校正以系统时间为准
   /etc/localtime		时区
   cal -y				显示日历
   ntpdate ipaddress	同步远程服务器时间

4 常用的基本命令

echo 显示字符
	echo [-neE]	[字符串]	将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行符
		-n					不自动换行
		-e					启用\字符的解释功能
	显示变量
		echo `echo $VAR_NAME` 命令,变量都能识别
		echo "$VAR_NAME"	变量会替换,弱引用
		echo '$VAR_NAME'	变量不会替换,强引用
	命令行扩展:$()或``		例如:echo "i am `whoami`/$(whoami)"
	括号扩展:{}	打印重复字符串的简化形式 
		示例:	echo file{1,3,5}	结果为:		file1,file2,file3
				echo {000..20..2}	结果为:		000 002 004 006...020
关机或重启
关机:halt, poweroff
重启:reboot
	-f: 强制,不调用shutdown
	-p: 切断电源
关机或重启:shutdown
	shutdown [OPTION]... [TIME] [MESSAGE]
		-r: reboot
		-h: halt
		-c:cancel
		TIME:无指定,默认相当于+1(CentOS7)
			now: 立刻,相当于+0
			+m: 相对时间表示法,几分钟之后;例如 +3
			hh:mm: 绝对时间表示,指明具体时间
alias 定义或显示别名
alias 显示当前用户定义的别名
alias name='VALNE' 	定义别名 	优先级:别名>内部命令>内存缓存>外部命令
	如果想永久有效,要定义在配置文件中
		仅对当前用户:~/.bashrc
		对所有用户有效:/etc/bashrc
			例:alias cdnet='cd /etc/sysconfig/network-scripts/'
unalias [-a] name	取消别名
	\name	暂时禁用别名

二,获取帮助

1 whatis 功能

显示命令的简短描述	例如:whatis cal 或 man -f cal
使用数据库
刚安装后不可立即使用
makewhatis(centos6) | mandb(centos7) 制作数据库

2 命令帮助–help

内部命令:help command 或 man bash
外部命令:command -h 或 man command
--help和-h选项 
显示用法总结和参数列表
使用的大多数,但并非所有的
示例:
	date --help
	Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
		[] 表示可选项
		CAPS或 <> 表示变化的数据
		... 表示一个列表
		x |y| z 的意思是“ x 或 y 或 z “
		-abc的 意思是-a -b –c
		{ } 表示分组

3 man命令

提供命令帮助的文件
手册页存放在/usr/share/man
几乎每个命令都有man的"页面"
man页面分组为不同的"章节"
统称为Linux手册
man命令的配置文件:/etc/man.config | man_db.conf
	MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示
中文man需安装包man-pages-zh-CN
man章节
   *1:用户命令
	2:系统调用
	3:C库调用
	4:设备文件及特殊文件
   *5:配置文件格式
	6:游戏
	7:杂项
   *8:管理类的命令
	9:Linux 内核API
man帮助段落说明
	NAME 名称及简要说明
	SYNOPSIS 用法格式说明
		[]	可选内容
		<>	必选内容
		a|b	二选一
		{ }	分组
		...	同一内容可出现多次
	DESCRIPTION		详细说明
	OPTIONS			选项说明
	EXAMPLES		示例
	FILES			相关文件
	AUTHOR			作者
	COPYRIGHT 		版本信息
	REPORTING BUGS	bug信息
	SEE ALSO		其它帮助参考
man帮助
	查看man手册页
		man [章节] keyword
	列出所有帮助
		man –a keyword
	搜索man手册
		man -k keyword 列出所有匹配的页面
		使用 whatis 数据库
	相当于whatis
		man –f keyword
	打印man帮助文件的路径
		man –w [章节] keyword
man命令
	使用less命令实现
		space, ^v, ^f, ^F:			向文件尾翻屏
		b, ^b:						向文件首部翻屏
		d, ^d:						向文件尾部翻半屏
		u, ^u:						向文件首部翻半屏
		RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行
		y or ^Y or ^P or k or ^K:	向文件首部翻一行
		q:							退出
		#:							跳转至第#行
		1G:							回到文件首部
		G:							翻至文件尾部
man搜索
	/KEYWORD:
		以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
			n: 	下一个
			N:	上一个
	?KEYWORD:
		以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
			n: 跟搜索命令同方向,下一个
			N:跟搜索命令反方向,上一个

三 文件系统

1 文件系统结构:

/boot:	引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:	所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:	管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:	启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:	专用于x86_64系统上的辅助共享库文件存放位置
/etc:	配置文件目录
/home/USERNAME:普通用户家目录
/root:	管理员的家目录
/media:	便携式移动设备挂载点
/mnt:	临时文件系统挂载点
/dev:	设备文件及特殊文件存储位置
	b: block device		随机访问
	c: character device	线性访问
/opt:	第三方应用程序的安装位置
/srv:	系统上运行的服务用到的数据
/tmp:	临时文件存储位置
/usr: 	universal shared, read-only data
	bin:		保证系统拥有完整功能而提供的应用程序
	sbin:	
	lib:		32位使用
	lib64: 		只存在64位系统
	include:C	程序的头文件(header files)
	share:		结构化独立的数据,例如doc, man等
	local:		第三方应用程序的安装位置
		bin, sbin, lib, lib64, etc, share
/var : variable data files
	cache:	应用程序缓存数据目录
	lib: 	应用程序状态信息数据
	local:	专用于为/usr/local下的应用程序存储可变数据;
	lock: 	锁文件
	log: 	日志目录及文件
	opt: 	专用于为/opt下的应用程序存储可变数据;
	run: 	运行中的进程相关数据,通常用于存储进程pid文件
	spool: 	应用程序数据池
	tmp: 	保存系统两次重启之间产生的临时数据
/proc: 	用于输出内核与进程信息相关的虚拟文件系统
/sys:	用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

linux下的文件类型

-  普通文件
d  目录文件
b  块设备
c  字符设备
l  符号链接文件
p  管道文件pipe
s  套接字文件socket

文件名规则:

文件名最长255个字节
包括路径在内文件名称最长4095个字节
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件
除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
标准Linux文件系统(如ext4),文件名称大小写敏感
###绝对和相对路径
绝对路径
	以正斜杠开始
	完整的文件的位置路径
	可用于任何想指定一个文件名的时候
相对路径名
	不以斜线开始
	指定相对于当前工作目录或某目录的位置
	可以作为一个简短的形式指定一个文件名
基名:	basename /path/to/filename
目录名:	dirname  /path/to/filename

2 文件系统的基本命令

显示当前工作目录

每个shell和系统进程都有一个当前的工作目录
CWD:current work directory
显示当前shell CWD的绝对路径
pwd:显示当前工作目录
	-P 显示真实物理路径
	-L 显示链接路径

更改目录

cd 改变目录
	使用绝对路径 或相对路径
		cd /home/wang/
		cd home/wang
切换至父目录:			cd ..
切换至当前用户主目录:	cd
切换至以前的工作目录:	cd -
	选项:	-P
相关的环境变量:
	PWD:	当前目录路径
	OLDPWD:	上一次目录路径

列出当前目录的内容或指定目录

ls [options] [file_or_dirs]
	-a 	显示全部文件
	-l	显示额外的信息
	-R	目录递归通过
	-ls	目录和符号链接信息
	-l 	文件分行显示
	-S	按从大到小显示
	-t	按mtime排序
	-u 	配合-t选项,显示并按atime从新到旧排序
	-U	按目录存放顺序显示
	-X	按文件后缀排序
	-d 	不显示文件夹里面的文件或目录 

查看文件

stat
	文件:metadata, data
	三个时间戳:
		access time 访问时间,atime,读取文件内容
		modify time 修改时间, mtime,改变文件内容(数据)
		change time 改变时间, ctime,元数据发生改变

创建空文件和刷新时间

touch [option] file
	-a 							仅改变atime和ctime
	-m 							仅改变mtime和ctime
	-t [[cc]YY]MMDDHHmm[.ss]	指定atime和mtime的时间戳
	-c 							如果文件不存在,则不予创建

复制文件和目录

cp src dest
	src 是文件:
		如果目标不存在:
			新建DEST,并将src中内容填充至DEST中
		如果目标存在:
			DEST是文件,将SRC中的内容覆盖至DEST中,基于安全建议为cp -i 
			DEST是目录,在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
cp SRC... DEST
	SRC... 	多个文件
	DEST 	必须存在,且为目录,其它情形均会出错
	-i		覆盖前提示
	-n		不覆盖,注意两者顺序
	-r,-R	递归复内部的所有内容
	-a 		归档,相当于-dR --preserall
	-d --no-dereference --preserv=links 不复制原文件,只复制链接名
	--preserv[=ATTR_LIST]
		mode:		权限
		ownership:	属主属组
		timestamp:	
		links		
		xattr
		context
		all
	-p		等同--preserv=mode,ownership,timestamp
	-v 		--verbose
	-f 		--force		将文件删除,在重建一个名称一样的文件。
	-u 		--update	只复制源比目标更新文件或目标不存在的文件
	-b 		目标存在,覆盖前先备份,形式为filename~
	--backup=number 目标存在,覆盖前先备份加数字后缀
	
备注:/etc/和/etc的区别
	只是 /etc/ 强调了"etc"是一个文件夹所以部分只能作用于文件上的命令会直接报错退出(比如不带-R参数的copy)

移动和重命名文件

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
	常用选项:
		-i 交互式
		-f 强制
		-b 目标存在,覆盖前先备份

以表达式替换文件名

rename [options] expression replacement file...
	-v	显示操作
	-s	对链接文件的目标文件进行操作
示例:
	rename test good cttest

删除

rm [OPTION]... FILE...
	常用选项:
		-i 交互式
		-f 强制删除
		-r 递归
		--no-preserve-root 删除/

目录操作

tree 显示目录树
	-d:			只显示目录
	-L level:	指定显示的层级数目
	-P pattern: 只显示由指定pattern匹配到的路径
mkdir 创建目录
	-p: 存在于不报错,且可自动创建所需的各目录
	-v: 显示详细信息
	-m MODE: 创建目录时直接指定权限
rmdir 删除空目录
	-p: 递归删除父空目录
	-v: 显示详细信息
rm -r 递归删除目录树

3 文件通配符

*			匹配零个或多个字符--不包含隐藏文件
?			匹配任何单个字符
~			当前用户家目录
~mage 		用户mage家目录
~+ 			当前工作目录
~- 			前一个工作目录
[0-9] 		匹配数字范围
[a-z]:		小写字母
[A-Z]:		大写字母
[zhang]		匹配列表中的任何的一个字符
[^zhang]	匹配列表中的所有字符以外的字符
预定义的字符类:man 7 glob
	[:digit:]:任意数字,相当于0-9
	[:lower:]:任意小写字母
	[:upper:]: 任意大写字母
	[:alpha:]: 任意大小写字母
	[:alnum:]:任意数字或字母
	[:blank:]:水平空白字符
	[:space:]:水平或垂直空白字符
	[:punct:]:标点符号
	[:print:]:可打印字符
	[:cntrl:]:控制(非打印)字符
	[:graph:]:图形字符
	[:xdigit:]:十六进制字符
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值