持续更新中!!
环境:contos7
一、目录结构
在linux系统中,一切皆文件
目录
说明
/
根目录,所有文件都在
bin
存放常用的程序文件(命令文件)
boot
存放引导系统启动的文件(boot配置文件,内核和其它启动时所需的文件)
dev
存储设备文件
etc
存放系统配置有关的文件
home
存放普通用户目录
lib
系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令
mnt
硬盘上手动挂载的文件
opt
存放某些大型软件或者某些特殊软件的目录
proc
操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里
root
系统管理员(root user)的目录
run
代替/var/run 目录
sbin
大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令
sys
和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统生成的,该目录的文件不在硬盘上而在内存中
tmp
临时目录
usr
在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具
var
用于存放经常变动的文件,包括各种日志、数据文件
/var/cache
应用程序缓存数据(可以被删除而不导致数据丢失)
/var/lib
状态信息,由系统在运行时维护的持久性数据
/var/log
日志文件
/var/lock
锁文件
/var/run
自最后一次启动以来运行中的系统信息
/var/tmp
在系统重启过程中可以保留的临时文件
二、语言环境
查看系统语言环境
locale
locale -a (查看全部)
三、软件安装
在centos7中,使用yum可以实现软件的自动下载、安装、配置,可以使用yum -h查看帮助
不同的系统安装命令不一样,在ubantu中,是使用 atp-get安装
yum -h
执行结果
check 检查 RPM 数据库问题
check-update 检查是否有可用的软件包更新
clean 删除缓存数据
deplist 列出软件包的依赖关系
distribution-synchronization 已同步软件包到最新可用版本
downgrade 降级软件包
erase 从系统中移除一个或多个软件包
fs Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups 显示或使用、组信息
help 显示用法提示
history 显示或使用事务历史
info 显示关于软件包或组的详细信息
install 向系统中安装一个或多个软件包
langavailable Check available languages
langinfo List languages information
langinstall Install appropriate language packs for a language
langlist List installed languages
langremove Remove installed language packs for a language
list 列出一个或一组软件包
load-transaction 从文件名中加载一个已存事务
makecache 创建元数据缓存
provides 查找提供指定内容的软件包
reinstall 覆盖安装软件包
repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。
repolist 显示已配置的源
search 在软件包详细信息中搜索指定字符串
shell 运行交互式的 yum shell
swap Simple way to swap packages, instead of using shell
update 更新系统中的一个或多个软件包
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade 更新软件包同时考虑软件包取代关系
version 显示机器和/或可用的源版本。
Options:
-h, --help 显示此帮助消息并退出
-t, --tolerant 忽略错误
-C, --cacheonly 完全从系统缓存运行,不升级缓存
-c [config file], --config=[config file]
配置文件路径
-R [minutes], --randomwait=[minutes]
命令最长等待时间
-d [debug level], --debuglevel=[debug level]
调试输出级别
--showduplicates 在 list/search 命令下,显示源里重复的条目
-e [error level], --errorlevel=[error level]
错误输出级别
--rpmverbosity=[debug level name]
RPM 调试输出级别
-q, --quiet 静默执行
-v, --verbose 详尽的操作过程
-y, --assumeyes 回答全部问题为是
--assumeno 回答全部问题为否
--version 显示 Yum 版本然后退出
--installroot=[path] 设置安装根目录
--enablerepo=[repo] 启用一个或多个软件源(支持通配符)
--disablerepo=[repo] 禁用一个或多个软件源(支持通配符)
-x [package], --exclude=[package]
采用全名或通配符排除软件包
--disableexcludes=[repo]
禁止从主配置,从源或者从任何位置排除
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes 更新时处理软件包取代关系
--noplugins 禁用 Yum 插件
--nogpgcheck 禁用 GPG 签名检查
--disableplugin=[plugin]
禁用指定名称的插件
--enableplugin=[plugin]
启用指定名称的插件
--skip-broken 忽略存在依赖关系问题的软件包
--color=COLOR 配置是否使用颜色
--releasever=RELEASEVER
在 yum 配置和 repo 文件里设置 $releasever 的值
--downloadonly 仅下载而不更新
--downloaddir=DLDIR 指定一个其他文件夹用于保存软件包
--setopt=SETOPTS 设置任意配置和源选项
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
示例:
yum install tree
运行结果
由上图所示,可以帮你自动下载安装软件
四、常用快捷键
快捷键
说明
Tab
1.单击一下:相关命令联想补全
2.连击两下: 列出当前目录下的所有文件
Ctrl + L
清屏
Ctrl + K
删除当前光标所谓位置之后的所有内容
Ctrl + U
删除当前光标所在位置之前的所有内容(删除到初始位置)
Ctrl + W
删除当前光标所在位置之前的内容(删除到有空格的位置)
Ctrl + Y
粘贴Ctrl + K、Ctrl + U、Ctrl + W清除的部分内容
Ctrl + A
将光标移动至最前面
Ctrl + E
将光标移动至最后面
Ctrl + L
搜寻至今最后执行的命令内容
Ctrl + C
结束当前操作
五、常用命令(以下演示命令以root角色演示)
1.获取命令的帮助信息
上面已经提到了-h命令可以查看命令的使用帮助。但是有时候不准确。可以使用以下的几个命令查看更详细的命令帮助,以下以yum为例
yum -h(yum -help)
查看关yum命令的简单用法
infoyum
查看关于yum命令的更详细用法
manyum(推荐使用)
查看关于yum命令的更详细用法
2.date (时间)
对时间进行操作
date
运行结果
使用 man date 查看命令帮助,以下仅部分帮助,其它请自行查看(多使用man 方法查看指令帮助)
部分示例:
指令示例
说明
结果
date +%x
年月日输出
2022年03月09日
date -s 20230301
对日期进行设置,改为2023年3月1号,但是会把具体时间设置为00:00:00
2023年 03月 01日 星期三 00:00:00 CST
date -s 12:11:11
设置具体时间
2023年 03月 01日 星期三 12:11:11 CST
date -s ‘16:55:23 2022-03-09’
设置日期和时间
2022年 03月 09日 星期三 16:55:23 CST
3.cal (日历)
部分示例:
指令示例
说明
结果
cal
显示一个简单的日历… 如果没有指定参数, 则显示当前月份.
cal -m
显示星期一作为一周的第一天… (缺省为星期日.)
cal -y
显示当前年份的日历
cal -j
显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) .
4.tzselect 时区设置
tzselect
5.clear(清屏)
clear
6.注销、关机
指令
说明
示例
logout
注销
reboot
重启(立即)
shutdown
以一种安全的方式关闭系统,所有登陆用户都可以看到关机信息提示(更多用法可以使用man shutdown 查看)
shutdown -r
重启:
shutdown -r (默认一分钟后重启)
shutdown -r now (立即重启)
shutdown -r+5 (五分钟后重启)
shutdown -r’22:00’ (22点重启)
shutdown -h
停机:
shutdown -h(默认一分钟后停机)
shutdown -hnow (立即停机)
shutdown -h+5 (五分钟后停机)
shutdown -h’22:00’ (22点停机)
shutdown -c
shutdown -c ‘正在使用,请勿关机’
(可以在命令行输入一条解释消息来向所有用户说明)
取消运行中的shutdown进程(取消重启或关机)
7.cd (切换目录)
指令示例
说明
cd
切换目录
cd #(cd ~)
切换到当前用户的家目录
cd /home
切换到home目录
cd …
切换到上一级目录
8.pwd(查看当前的工作路径)
pwd
9.passwd(更改用户密码)
passwd
指令
说明
passwd
修改当前用户的密码
passwd lvyq
修改lvyq账户的密码(只有root权限才可以指定用户名)
10.ls(查看当前目录下的子目录及文件)
ls
指令
说明
示例
ls
显示当前目录下文件
ls -a
显示当前目录下文件包括隐藏文件以及当前目录上级目录(. …)
ls -A
显示当前目录下文件包括隐藏文件不包含当前目录上级目录(. …)
ls /usr
显示指定目录下的文件(根目录下的usr目录)
ls -l (ll)
查看当前目录下文件的详细信息(操作权限,所属用户,字节,时间等信息)
ls -lh
与ls -l一样的效果,不过字节变成了文件的大小
ls -lht
ls -lhtr
1.ls -lht 按时间将文件排序(倒序)
2.ls -lhtr 按时间将文件排序(正序)
ls -R
遍历目录文件
11.mkdir(建立目录)
mkdir
缺省时,新建立的目录模式为0777,即不加保护地对所有人 都可读、可写、可执行指令
指令说明
说明
mkdir lvyq
在当前目录下创建目录lvyq
mkdir -p lvyq/lv/yq
在当前目录下创建多级目录(lvyq/lv/yq)
12.touch(修改文件的时间戳记)
修改每个指定文件 file 的存取(access)和/或修改(modification)时间戳记.除非使用-r或-t选项,这些时间戳记都将修改为当前的时间
(当文件不存在时会创建文件)
指令
说明
示例
touch touch.txt
修改touch.txt文件时间
不存在时创建文件
存在时更新文件时间
touch -c touch2.txt
文件不存在时不创建文件
touch -r touch.txt touch2.txt
将touch.txt的时间更新至touch2.txt
touch -t touch.txt
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数: [[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即“世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch将把年数CCYY限定在1969–2068之内.MM为月数,DD为天 将把年数CCYY限定在1969–2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒 的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统 的限制,早于1970年1月1日的时间是错误的.
注:touch 命令仅修改时间,不对文件内容修改
13.rm(移除文件或者目录)
15.mv(移动 (改名) 文件)
16.cp(复制文件和目录)
17.chmod()
通过ll命令查看文件时,会看到 drwxr-xr-x. 这样的信息,这表示文件的类型操作权限等。
文件类型:
-
普通文件
b
块设备文件
c
字符设备文件
d
目录文件
l
链接文件(相当于win上面的快捷方式)
p
管道文件
s
socket文件
文件权限:
权限
文件上的权限
目录上的权限
其它
r
可读权限
可以用数字4表示
w
可写权限
可以用数字2表示
x
可执行权限
可以用数字1表示
-
无相应权限
可以用数字0表示
权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替
上面的例子表示:
目录文件,文件所有者是root,root用户对改目录文件拥有读写执行的操作权限,与root所在同一组的用户拥有读写的权限,其它用户拥有读的权限
修改权限:
使用chmod命令改变指定文件访问权限有两种方式:一种是用符号标记所进行更改,另一种方式是采用8进制数指定新的访问权限。
①用符号标记进行更改
②用8进制数指定新的访问权限
asdasd
总结
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取。
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!
全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。