Linux哲学思想:
一切都是文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
*配置数据存储在文本中
用户:在Linux里登录用户分为普通用户和root用户两种
普通用户:
权限有限
造成的系统损害有限
root用户:
特殊的管理用户,也被称作超级用户
root已接近完整的对系统进行控制
对系统的损害几乎有无限的可能
ps:除非必要,否则在生产环境中不要登录root用户
分区:一块硬盘的主分区加上扩展分区最多拥有四块
主分区:不可分割,可以启动OS(操作系统)
扩展分区:最多一个,可以分割为更小的分区
逻辑分区:扩展分区分割的更小的分区称为逻辑分区
相关命令:lsblk 以树状图显示当前系统的分区,能看到分区名字、分区大小(以G为单位)、当前已使用分区大小(以G为单位)、剩余分区大小(以G为单位)、挂载点等信息
df 显示当前系统分区,可以看到分区名字、分区大小(以K为单位)、前已使用分区大小(以K为单位)、剩余分区大小(以K为单位)、挂载点等信息
df -h 显示当前系统分区,可以看到分区名字、分区大小(以M为单位)、前已使用分区大小(以M为单位)、剩余分区大小(以M为单位)、挂载点等信息
df -i 显示当前系统分区名称、分区inode编号总数、已使用inode编号数量、剩余inode编号、挂载点等信息
系统主要目录介绍:
/ :所有目录的根目录
/boor :系统启动文件
/dev :设备文件
/etc :系统配置文件
/home :普通用户的家目录
/root :root用户的家目录
/run :系统运行中产生的文件,是动态生成的
/tmp :存放临时文件
/usr :系统刚安装完毕后的系统文件
/var :网页文件
硬链接和软链接:
硬链接: ln
为数据创建多个名称,相当于一个数据有多个名字,输入任何一个关联的硬链接名称都可以使用
硬链接不可对目录创建
硬链接不可对不存在的文件创建,因为逻辑不通
硬链接只能在当前分区使用,不可链接其它分区
硬链接创建成功时,不消耗当前分区的inodes编号,也不消耗当前分区的大小,只增加数据的名称数量
删除硬链接时,若当前数据有多个名称,则不会删除数据,只删除输入的名称,且对数据对应的其它名称没有影响;当数据对应的名称为0时,则删除数据
软链接:ln -s
为数据创建一个链接,且只能对应一个链接
软链接可以对目录创建
软链接可以跨分区使用
软链接创建成功时,即消耗当前分区的inodes编号,也消耗当前分区的大小
删除软链接指向的数据文件时,再使用指定的软链接时系统会报错
时钟命令:date 显示和设置系统时间
%Y 表示年 %m 表示月 %d 表示日
%H 表示小时 %M表示分钟 %S表示秒
date命令默认显示时间的格式与平时不同,若要按照自己设定格式显示,需要在date 后加+号,后面跟上显示的格式参数,如:要求显示时间的格式为2018-12-11 8:57 则命令为:
date + “%Y-%m-%d %H-%M-%S”
Ps: - 为连接参数的符号,也可以用其它字符,空格或不用。
date -s “20181211 9:18:00” 表示把当前时间设置为2018年12月11日 9点18分整
在date后加-s表示设置当前时间。
查看明天日期
date -d next-day +%Y%m%d
date -d tomorrow +%Y%m%d
查看昨天日期
date -d last-day +%Y%m%d
date -d yesterday +%Y%m%d
查看上个月日期
date -d last-month +%Y%m
查看下个月日期
date -d next-month +%Y%m
查看明年日期
date -d next-year +%Y
获取昨天或多天前的日期
DATE=$(date +%Y%m%d --date ’2 days ago’)
date命令能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:
时间方面
??? %: 印出
??? % %n: 下一行
??? %t: 跳格
??? %H: 小时(00..23)
??? %I: 小时(01..12)
??? %k: 小时(0..23)
??? %l: 小时(1..12)
??? %M: 分钟(00..59)
??? %p: 显示本地 AM 或 PM
??? %r: 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
??? %s: 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S: 秒(00..61)
??? %T: 直接显示时间 (24 小时制)
??? %X: 相当于 %H:%M:%S
??? %Z: 显示时区
日期方面
??? %a:星期几 (Sun..Sat)
??? %A:星期几 (Sunday..Saturday)
??? %b:月份 (Jan..Dec)
??? %B:月份 (January..December)
??? %c:直接显示日期和时间
??? %d:日 (01..31)
??? %D:直接显示日期 (mm/dd/yy)
??? %h:同 %b
??? %j:一年中的第几天 (001..366)
??? %m:月份 (01..12)
??? %U:一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
??? %w:一周中的第几天 (0..6)
??? %W:一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
??? %x:直接显示日期 (mm/dd/yy)
??? %y:年份的最后两位数字 (00.99)
??? %Y:完整年份 (0000..9999)
简单命令:
关机: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:绝对时间表示,指明具体时间
用户登录信息查看命令:
whoami:显示当前登录有效用户
who:系统当前所有的登录会话
w:系统当前所有的登录会话及所做的操作
echo:功能是显示字符
语法:echo[-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号。
选项:-E(默认)不支持\解释功能
-n不自动换行
-e启动\字符的解释功能
显示变量:
若要显示变量,则需要用双引号,如:echo “$VAR_NAME”
若要不显示变量,则需要用单引号,如:echo ‘$VAR_NAME’
tab键:
命令补全
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令。用户给定的字符串只有一条唯一对应的命令,直接补全,否则,再次tab会给出列表。
路径补全:把用户给出的字符串当做路径开头,并在其指定目录下搜索以指定的字符串开头的文件名。如果唯一,则直接补全,否则,再次tab给出列表。
命令history
history是查看历史命令,后跟不同的参数会出现不同的结果
-c:清空命令历史
-d offset:删除历史中指定的第offset个命令
n :显示最近的n条历史
-a:追加本次会话新执行的命令历史列表至历史文件
-r:读历史文件附加到历史列表
-w:保存历史列表到指定的历史文件
-n:读历史文件中未读过的行到历史列表
-p:展开历史参数成多行,但不存在历史列表中
-s:展开历史参数成一行,附加在历史列表后
共享会话:
screen 创建共享会话的默认名称为当前终端号加上当前主机名称,会话id系统自动分配。
screen -S (房间名称) 创建共享会话名称。
ctrl,+a,+d 退出当前会话,但共享会话还在 。
screen -r 返回上一次访问的共享会话。
screen -x (会话房间号或房间名) 加入会话房间。
screen -ls 查看当前有哪些共享会话
exit 关闭当前共享会话,(连接当前会话的所以用户都断开,而且房间会删掉。)
原文地址:http://blog.51cto.com/14127432/2331179