Linux:Day2 发行版本、命令获取
Linux的哲学思想:
1、一切皆文件:把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好;
组合小程序完成复杂任务;
3、尽量避免跟用户交互;
目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息;
目标:一款使用的文件编辑器即完成系统配置工作;
如何获取CentOS发行版本:
https://opsx.alibaba.com/mirror
http://mirrors.sohu.com
http://mirrors.163.com
跳转到桌面:startx &
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,Centos 6默认启动6个虚拟终端
Ctrl + Alt + F#:[1,6]
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境。、、
设备文件路径:/dev/tty#
模拟终端:图形界面下打开的命令行接口,基于ssh协议或telnet 协议等远程打开的界面。
设备文件路径:/dev/pts/# [0,oo)
查看当前的终端设备:tty
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI
CLI
查看当前使用的是哪一种shell用命令:echo $SHELL # linux是严格区分大小写的
查看系统支持的所有shell命令:cat /etc/shells
命令提示符:prompt
[root@localhost Desktop]#
[root@localhost Desktop]:PS1
prompt:
管理员:#
普通用户:$
命令:
输入命令,回车;
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来;表现为一个或多个进程。
在shell中可执行的命令有两类:
内建命令:由shell自带的,而且通过某命令形式提供;
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;
which,whereis
区分内部或外部命令:
# type COMMAND
运行命令:
命令格式:
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l , -h
多个短选项可合并使用,例如:-l -h, 可写作 -lh
长选项:--word 例如:--long, --human-readable
参数:命令的作用对象
向命令提供数据;
注意:
1、多选项,以及多参数和命令之间都应该使用空白字符分隔
2、取消命令执行:ctrl + c
文件系统:
文件有两类数据:
元数据:metadata
数据:data
1、文件名严格区分字符大小写;
2、文件名可使用除/以外的任意字符,不建议使用特殊字符;
3、文件名长度最长不能超过255个字符;
4、所有以.开头的文件,均为隐藏文件;
路径:
绝对路径:从根目录起始的路径;
相对路径:从当前位置起始的路径;
当前位置的表示方式:
./ 或省略前面符号,直接使用下级路径
当前目录的上一级目录:..
当前目录:current directory,也称作working directory;
pwd:printing working directory
LSB:Linux Standard Base
命令总结:ls,cd,type,tty,cat,which,whereis,pwd,echo
命令:
(1)文件系统相关:
目录管理
文件管理
文件查看
文件编辑
(2)系统管理相关:
Linux命令帮助的获取
外部命令:都有一个可执行程序,位于文件系统某目录下:
which,whereis
shell程序搜寻可执行程序文件的路径宣言在PATH环境变量中;
# echo $PATH
注意:自左至右
内部命令:help COMMAND
外部命令:(外部命令获取方式不是一致的,有的是上面一种,有的是下面一种)
(1) # COMMAND --help
# COMMAND -h
(2) 使用手册(manual)
# man COMMAND
(3) 信息页
# info COMMAND
(4) 程序自身的帮助文档
README
INSTALL
ChangeLog
(5) 程序官方文档
官方站点:Documentation
(6) 发行版的官方文档
(7) Google
内部命令:
hash命令:
shell搜寻到的外部命令的路径结果会缓存至kv(kdy-value)存储中;
history命令:
管理命令历史:
登陆shell时,会读取命令历史文件中记录下的命令:~/.bash_history
登陆进shell后新执行的命令只会记录在缓存中,这些命令会用户退出时“追加”至命令历史文件中;
history:
-a:追加本次会话新执行的命令历史列表至历史文件中;
-d:删除历史中指定的命令;
-c:清空命令历史;
快捷操作:
!#:调用历史中第#条命令;
!string:调用历史中最近一个以string形头的命令;
!!:执行上一条命令;
!$:调用前一个命令的最后一个参数;
外部命令帮助获取:
(2)man COMMAND
手册页:/usr/share/man
man1....man8
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备及特殊文件 设备文件其实就是/dev下面的文件
man5:配置文件格式
man6:游戏
man7:杂项
man8:管理类的命令
注意:有些关键字在不止一个章节中存在帮助手册;
要查指定章节中的手册:man # COMMAND 例:whatis read
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之;
man命令的操作方法:
space:向文件尾翻屏
b:向文件首部翻屏
d:向文件尾部翻半屏
u:向文件首部翻半屏
enter:向文件尾部翻一行
y:向文件首部翻一行
q:退出
1G:回到文件首部
G:翻到文件尾部
文件搜索:
/KEYWORD: # man内容显示之后再使用,而不是跟在命令后面。
以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索,不区分字符大小写
n:下一个,同搜索命令同方向
N:上一个
练习:date命令
显示今天为周几?
设定当前系统时间?
显示今天的日期,形如:08/15/15
显示当前的时间,形如:16:01:21
基础命令:
date:一共有两种格式,一种是显示用,一种是设置用
date [OPTION]... [+FORMAT] # 显示用
FORMAT:格式符号
%D:08/07/18
%F:2018-08-07
%T:14:40:54
date [MMDDhhmm[[CC]YY][.ss]] # 设置用
MM:月份
DD:几号
hh:小时
mm:分钟
YY:两位年份
CCYY:四位年份
.ss:秒钟
Linux的两种时钟:
系统时钟:由Linux内核通过通过CPU的工作频率进行的计时;通过date显示
硬件时钟:通过clock或hwclock命令显示
hwclock:显示硬件时钟,或设置硬件时钟(做硬件时钟和系统时间同步用)
-s, --hctosys
-w, --systohc
cal:日历
目录相关命令:
当前目录或工作目录
主目录,家目录:HOME
root:/root
普通用户:/home/USERNAME
~:用户的主目录/家目录
cd:
cd 或 cd ~:回前当用户的家目录
cd ~USERNAME:切换至指定用户的主目录
cd -:在上一个目录和当前目录之间来回切换
.:当前目录
..:上一级目录
相关的环境变量:
PWD:保存了当前目录路径;
OLDPWD:上一次所在目录路径;
ls:list
显示指定路径下的文件列表;不能显示文件内容
ls [OPTION]... [DIR]...
-a:显示所有文件,包括隐藏文件;
-A:显示-a所有文件,除了.和..
-l:长格式
-rw-r--r--. 1 root root 10033 Aug 4 19:13 install.log.syslog
-rw-r--r--:
左侧第一位:文件类型;
后面的9位:访问权限;
数字:文件被硬链接的次数;
左root:文件的owner
右root:文件的group
10033:文件的大小(字节)
Aug 4 19:13:文件最近一次被修改的时间;修改是指数据被修改,而改变是指元数据改变
install.log.syslog:文件名
-h:自动执行单位换算
-d:显示目录自身的相关属性;通常要与 -l 一起使用
-r:逆序显示
-R:递规显示;除了显示目录下的文件,还显示目录下目录中的文件,直到最后一层
stat /PATH/TO/SOMEFILE:获取指定文件的元数据;
文件查看命令:cat,tac
cat:正序显示文件内容
-E:显示行结束符$
-n:对显示出的每一行进行编号
tac:倒序显示文件内容
文件内容类型查看命令:file
file /PATH/TO/SOMEWHERE
回显命令:echo
-n:禁止自动添加换行符号;
-e:允许使用转义符;
\n:换行
\t:制表符
echo "$VAR_NAME":变量会替换,双引号表弱引用
echo "$VAR_NAME":变量不会替换,强引用
which:显示命令对应的程序文件路径;
whatis:
使用mkwhatis命令可将当前系统上所胡的帮助手册及与之对应的关键字创建为一个数据库;
然后才能使用whatis相关命令
whereis:只能用来搜索程序名,而且只能搜索二进制文件(参数-b)、man说明文件(参数-m)源代码文件(参数-s)。如果省略参数,则返回所有信息。
系统管理类命令:
关机:halt,poweroff,shutdown,init 0
重启:reboot,shutdown,init 6
跟用户登录相关:who,whoami,w
关机或重启比较好用的命令,基本不需要加什么参数的命令:
halt,poweroff
reboot
-f:强制,不调用shutdown。(shutdown是一个比较安全的命令,在关机之前会保存数据)
-p:切断电源。
shutdown:以上的三个命令都是通过调用shutdown实现的。
shutdown [OPTION]... TIME [MESSAGE]
-r:reboot
-h:halt
-c:cancel
Time:
now:立刻
+m:从命令提交开始,m分钟后执行
hh:mm:绝对时间表示,指明具体时间,24小时制
最新文章
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
- java web学习总结(十六) -------------------数据库连接池
- markdown学习/mou
- 【DP】HDU 1176
- LeetCode Island Perimeter
- P3381 【模板】最小费用最大流
- 【JAVA单例模式详解】
- Bootstrap 4 中 Alerts 实现
- 使用bootstrap和metroui设计的微网站或手机app界面
- 发送WIN+SAPCE键,WINDOWS,空格键
- Flash Air 打包安卓 ane
- 一个通用的Makefile (转)
- Hadoop概念学习系列之如何去找到历史版本的Hadoop发行包(三十四)
- gitLab添加ssh key
- 子数涵数·C语言——循环语句
- FORTH 安装使用
- 【Spark篇】--Spark中的宽窄依赖和Stage的划分
- linux centos 安装Jenkins(非docker方式)
- Window下搭建X5本地应用打包服务器
- iptables的MAC地址过滤