Linux初识及常用命令

23 篇文章 0 订阅

持续更新中!!

环境: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进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值