首页 > 系统相关 >Linux初识及常用命令

Linux初识及常用命令

时间:2022-10-19 10:45:00浏览次数:47  
标签:文件 示例 -- 常用命令 编辑 初识 Linux txt 目录


 持续更新中!!

环境: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 (查看全部)

Linux初识及常用命令_重启

Linux初识及常用命令_txt文件_02

编辑

三、软件安装

在centos7中,使用yum可以实现软件的自动下载、安装、配置,可以使用yum -h查看帮助

不同的系统安装命令不一样,在ubantu中,是使用 atp-get安装

yum -h

执行结果

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


Linux初识及常用命令_重启_03

示例:

yum install tree

运行结果

Linux初识及常用命令_重启_04


Linux初识及常用命令_txt文件_05

编辑

 由上图所示,可以帮你自动下载安装软件

四、常用快捷键

快捷键

说明

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命令的简单用法

info yum

查看关于yum命令的更详细用法

man yum(推荐使用)

查看关于yum命令的更详细用法

2.date (时间)

对时间进行操作

date 

运行结果

Linux初识及常用命令_当前目录_06


Linux初识及常用命令_当前目录_07

编辑

使用 man date 查看命令帮助,以下仅部分帮助,其它请自行查看(多使用man 方法查看指令帮助)

Linux初识及常用命令_重启_08


Linux初识及常用命令_txt文件_09

编辑

 部分示例:

指令示例

说明

结果

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

 显示一个简单的日历..  如果没有指定参数, 则显示当前月份.

Linux初识及常用命令_当前目录_10


Linux初识及常用命令_当前目录_11

cal -m

 显示星期一作为一周的第一天..  (缺省为星期日.)

Linux初识及常用命令_当前目录_12



cal -y 

 显示当前年份的日历

Linux初识及常用命令_txt文件_13




cal -j

 显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) .

Linux初识及常用命令_txt文件_14




4.tzselect  时区设置

tzselect 

Linux初识及常用命令_当前目录_15


Linux初识及常用命令_当前目录_16

编辑

5.clear(清屏)

clear

Linux初识及常用命令_txt文件_17


Linux初识及常用命令_txt文件_18

编辑

6.注销、关机

指令

说明

示例

logout           

注销                  

Linux初识及常用命令_txt文件_19


编辑


reboot

重启(立即)

shutdown

以一种安全的方式关闭系统,所有登陆用户都可以看到关机信息提示(更多用法可以使用man shutdown 查看)

Linux初识及常用命令_重启_20


编辑


shutdown -r                               

重启:

shutdown -r (默认一分钟后重启)

shutdown -r now    (立即重启)

shutdown -r +5 (五分钟后重启)

shutdown -r '22:00' (22点重启)

shutdown -h

停机:

shutdown -h (默认一分钟后停机)

shutdown -h now    (立即停机)

shutdown -h +5 (五分钟后停机)

shutdown -h '22:00' (22点停机)

shutdown -c 

shutdown -c '正在使用,请勿关机'

(可以在命令行输入一条解释消息来向所有用户说明)

取消运行中的shutdown进程(取消重启或关机)

Linux初识及常用命令_当前目录_21


编辑


7.cd (切换目录)

指令示例

说明

cd 

切换目录

cd #(cd ~)

切换到当前用户的家目录

cd /home

切换到home目录

cd ..

切换到上一级目录

8. pwd(查看当前的工作路径)

pwd

9.passwd(更改用户密码)

passwd

指令

说明             

passwd

修改当前用户的密码

passwd  lvyq

修改lvyq账户的密码(只有root权限才可以指定用户名)

10.ls(查看当前目录下的子目录及文件)

ls

指令

说明             

示例

ls

显示当前目录下文件

Linux初识及常用命令_当前目录_22


编辑


ls -a

显示当前目录下文件包括隐藏文件以及当前目录上级目录(. ..)

ls -A

显示当前目录下文件包括隐藏文件不包含当前目录上级目录(. ..)

ls /usr

显示指定目录下的文件 (根目录下的usr目录)

ls -l (ll)

查看当前目录下文件的详细信息(操作权限,所属用户,字节,时间等信息)

Linux初识及常用命令_txt文件_23


编辑


ls -lh

与ls -l一样的效果,不过字节变成了文件的大小

ls -lht



ls -lhtr

1.ls -lht 按时间将文件排序(倒序)

2.ls -lhtr 按时间将文件排序(正序) 

Linux初识及常用命令_当前目录_24


编辑


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文件时间

不存在时创建文件

Linux初识及常用命令_当前目录_25


编辑


存在时更新文件时间

Linux初识及常用命令_重启_26


编辑


touch  -c touch2.txt

文件不存在时不创建文件

Linux初识及常用命令_txt文件_27


编辑


touch -r touch.txt touch2.txt

将touch.txt的时间更新至touch2.txt

Linux初识及常用命令_重启_28


编辑


touch -t '2101011111.11' touch2.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日的时间是错误的.

Linux初识及常用命令_重启_29


编辑


注:touch 命令仅修改时间,不对文件内容修改

13.rm(移除文件或者目录)

  rm移除每个给定的文件。默认情况下,它不能移除目录。但是当给定了-r或者-R选项时,在指定目录之下的整个目录树都会被移除(而且对通过`rm -r'能够移除的目录树深度是没有限制的)。当文件路径末端部分只有.和..时会出错(因此可用`rm -r .*'之类来避免这些不愉快的诧异)。 如果给定了-i选项,或者如果一个文件不可写,而且标准输入是终端,又没有给定-f选项,那么rm会提示用户是否要删除该文件,它写一个问题到stderr并且从stdin读入一个应答。 如果应答是否定的,该文件将被跳过。

指令

说明        

示例演示

rm a.txt

删除文件a.txt

Linux初识及常用命令_txt文件_30


编辑


rm -f a.txt

删除文件a.txt,不作确认提示。

Linux初识及常用命令_txt文件_31


编辑


rm -r 

 递归地移除目录树

一级目录a

Linux初识及常用命令_txt文件_32


编辑


多级目录:a/b/c

Linux初识及常用命令_当前目录_33


编辑


rm -rf a

删除目录a下所有文件

14.mv( 移动 (改名) 文件) 

改“源文件”名到“目标文件”名, 或移动“源文件”(可以不只一 个)到一个“目录”。

指令

说明

示例演示

mv  file1 file2

file1,file2为文件时


覆盖


Linux初识及常用命令_txt文件_34


编辑


重命名

Linux初识及常用命令_当前目录_35


编辑


mv  file1 file2

file1 为文件,file2为目录

移动

mv file1.txt file2/

将file1.txt移动至file2目录下

file1,file2都为目录时

mv file1 file2

目录file1以及下面的所有文件,移动至file2目录下(相当于win上将文件夹1剪切至文件夹2)

mv /user/lv.txt   /dev/

将目录user下的lv.txt文件,移动至dev目录下

ps:其它相关命令请用man mv 自行查看

15.cp(复制文件和目录)

指令

说明

示例演示

cp file1 file2

复制文件a.txt,并将命名为b.txt

Linux初识及常用命令_重启_36


编辑


覆盖(当file2存在时会提示覆盖)

Linux初识及常用命令_txt文件_37


编辑


cp file1 file2

cp /user/a.txt /dev  

复制user目录下的a.txt文件到dev目录下

cp /user/a.txt /dev/b.txt

复制user目录下的a.txt文件到dev目录下并命名为b.txt

16.stat(打印信息节点(inode)内容)

指令

说明

示例演示

stat /a

查看目录a的信息(也可查看具体文件)

Linux初识及常用命令_当前目录_38


编辑


17.cat (查看文件)

连接文件并在标准输出上输出

cat

指令

选项

说明

示例演示

cat

查看文件内容

示例

cat cat.txt 

Linux初识及常用命令_当前目录_39


编辑





-b

 给非空输出行编号。

示例

cat -b cat.txt

Linux初识及常用命令_重启_40


编辑


-E

 在每行结束显示 $

示例

cat -E cat.txt

Linux初识及常用命令_txt文件_41


编辑


-n

 给所有输出行编号

示例

cat -n cat.txt

Linux初识及常用命令_txt文件_42


编辑


-s 

将所有的连续的多个空行替换为一个空行。

示例

cat -s cat.txt

Linux初识及常用命令_重启_43



编辑


18.tac(反转显示文件)

选项

说明

示例演示

tac

反转显示文件

示例

tac cat.txt 

Linux初识及常用命令_重启_44


编辑






-b

 把分隔单元移到前面, 而不是后面

示例

tac -b cat.txt

Linux初识及常用命令_当前目录_45


编辑



ps:其它相关指令不常用,不一一列举了

19.wc( 输出文件中的行数、单词数、字节数)

指令

选项

说明

示例

wc

输出文件中的行数、单词数、字节数

Linux初识及常用命令_当前目录_46


编辑


-c

 输出字节统计数

-l

 输出换行符统计数

-L

 输出最长的行的长度

-w

 输出单词统计数

20.sort(对文本文件的行排序)

创建文件sort1.txt 和文件sort2.txt(为了便于区分,内容末尾分别加上-1,-2),内容如下图所示:

   sort1.txt 

Linux初识及常用命令_当前目录_47


Linux初识及常用命令_txt文件_48

编辑


 sort2.txt

Linux初识及常用命令_txt文件_49


Linux初识及常用命令_重启_50

编辑

sort file1   (对一个文件排序)

sort file1 file2 .. (对多个文件内容排序,并合并输出)

以下示例以两个文件为例

指令

选项

说明

示例

sort

对文本文件的行排序

示例

sort sort1.txt sort2.txt

Linux初识及常用命令_重启_51


编辑


-b

 忽略排序字段或关键字中开头的空格

-c

 检查是否指定文件已经排序好了,不排序(只能对一个文件操作)

示例

sort -c  sort1.txt

Linux初识及常用命令_当前目录_52


编辑



-d

 在关键字中只考虑[a-zA-Z0-9]字符

-g

  按照通常的数字值顺序作比较,暗含-b

示例

sort -g  sort1.txt sort2.txt

Linux初识及常用命令_当前目录_53


编辑



-m

 合并已经排序好的文件,不排序

示例

sort -m  sort1.txt sort2.txt

Linux初识及常用命令_重启_54


编辑


-M

按(未知的)<`JAN'<...<`DEC'的顺序比较,暗含-b

示例

sort -M  sort1.txt sort2.txt 

Linux初识及常用命令_重启_55


编辑



-r

 颠倒比较的结果

示例

sort -r  sort1.txt sort2.txt

Linux初识及常用命令_当前目录_56


编辑




-s

通过屏蔽最后的再分类比较来稳定排序

示例

sort -s  sort1.txt sort2.txt 

Linux初识及常用命令_当前目录_57


编辑


 -u

 如果有-c,则按严格的顺序进行检查; 如果有-m,则只输出相等顺序的第一个

示例

sort -u  sort1.txt sort2.txt

Linux初识及常用命令_当前目录_58


编辑



-z

 以0字节结束行,而不是使用换行符,这是为了找到-print0

示例

sort -z  sort1.txt sort2.txt 

Linux初识及常用命令_txt文件_59


编辑



 -o

将结果写入FILE而不是标准输出

sort -o file1 file2 

对文件file2中的内容排序并输入到文件file1中(当file1存在时,将覆盖file1中的内容)

示例1

sort -o  sort.txt sort2.txt 

结果:

Linux初识及常用命令_重启_60


编辑


对sort2.txt中的内容排序并将排序内容输入到sort.txt中


示例2

sort -o  sort1.txt sort2.txt 

结果

Linux初识及常用命令_重启_61


编辑


当sort1.txt存在时,使用此命令发现此命令是将sort2.txt的内容排序后覆盖到了sort1.txt中

21.uniq(忽略连续相似行)

uniq

 从 INPUT (或 标准输入) 数据 中 忽略 (但是 保留 一行) 连续的相似行, 结果 送入 OUTPUT (或 标准输出)

创建uniq.txt演示文件,内容如下:

Linux初识及常用命令_txt文件_62


Linux初识及常用命令_txt文件_63

编辑

指令

选项

说明

示例演示

uniq

忽略输出连续的重复行

示例:

uniq  uniq.txt

Linux初识及常用命令_txt文件_64


编辑



-c

在行首显示出现的数目

 示例:

uniq -c uniq.txt

Linux初识及常用命令_重启_65


编辑



 -d

仅显示 重复行

 示例:

uniq -d  uniq.txt

Linux初识及常用命令_txt文件_66


编辑



 -D

显示 全部 重复行

 示例:

uniq -D  uniq.txt 

Linux初识及常用命令_当前目录_67


编辑



 -f

 不比较 起初的 N 栏

 示例:

uniq -f uniq.txt


 -i

  比较时 忽略 大小写

 示例:

uniq -i uniq.txt 

Linux初识及常用命令_当前目录_68


编辑



-u

仅显示 无重复行

 示例:

uniq -u uniq.txt

Linux初识及常用命令_当前目录_69


编辑



 ps:其它相关指令不常用,不一一列举了

22.cut(在文件的每一行中提取片断

cut

为了方便演示创建cut.txt文件,内容如下

Linux初识及常用命令_重启_70


Linux初识及常用命令_txt文件_71

编辑

指令

选项

说明

示例演示

cut

-b

 输出每行的第几个字符

示例:

cut -b 2 cut.txt

Linux初识及常用命令_当前目录_72


编辑




-c

输出区间字符

示例

cut -c 2,4 cut.txt (取第2和第4个字符)

cut -c 2-4 cut.txt  (取第二到第四之间字符)

cut -c 2-4,6 cut.txt (取第二到第四之间字符,和第6个字符)


Linux初识及常用命令_重启_73


编辑



-d

 使用 DELIM 取代 TAB 做 字段(field) 分隔符

示例

 cut -d - -f 2  cut.txt

Linux初识及常用命令_重启_74


编辑



这两个指令搭配着使用,上面的例子是:以-为分割符,并输出分割后的第2个字段

-f

 输出 字段

 ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man cut查看帮助

23.tee(从标准输入写往文件和标准输出)

类型

默认情况

对应文件句柄位置

标准输入

从键盘输入到系统

(比如输入ll 命令就叫做标准输入)

/proc/self/fd/0

标准输出

输出内容到屏幕

(输出目录下文件到控制台就叫标准输出)

/proc/self/fd/1

错误输出

输出内容到屏幕

(输出错误信息到控制台)

/proc/self/fd/2

这里大概了解下,之后的shell重定向会详细了解

命令

选项

说明

示例演示

tee

标准输入写往标准输出演示

示例

tee

Linux初识及常用命令_txt文件_75


编辑



标准输入写往文件

示例

tee tee.txt

Linux初识及常用命令_重启_76


编辑


-a

追加到 给出的 文件, 而不是 覆盖

示例:

tee -a tee.txt

Linux初识及常用命令_重启_77


编辑


24.history(查看执行过的命令)

指令

选项

说明

示例演示

history

默认显示最近的1000条命令

示例

history

num

显示最近的num条命令

示例

history 10

Linux初识及常用命令_当前目录_78


编辑



!no

执行第no条命令

示例

!10

Linux初识及常用命令_当前目录_79


编辑



!xx

执行最后一次以xx开头的命令

示例

!his

Linux初识及常用命令_txt文件_80


编辑



25.more(在显示器上阅读文件的过滤器)

交互命令:

按键

行为

回车

一行一行的显示

空格

翻页显示

h or ?

 帮助: 显示命令的摘要

s

向前跳过 k 行文本. 缺省值 是 1

f

 向前跳过 k 屏文本. 缺省值 是 1

 b or ^B

向后跳回 k 屏文本. 缺省值 是 1

'

跳到 上一次 搜索 开始 的 地方

=

 显示当前行号

 ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man more查看帮助

以下命令以演示文件为例

Linux初识及常用命令_当前目录_81


Linux初识及常用命令_当前目录_82

编辑

26.less(对文件或其它输出进行分页显示)

   与more命令作用类似,上面使用more对文件进行了演示,在less命令中对输出进行演示(演示命令同样适用于more

history |less     (history |more)

演示

Linux初识及常用命令_当前目录_83


Linux初识及常用命令_当前目录_84

编辑

 ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man less查看帮助

27.head( 输出文件的开始部分)

在标准输出上显示每个FILE的起始10行.   如果多于一个FILE,则一个接一个地显示, 并且在每个文件显示的首部给出文件名.如果没有FILE,或者FILE为-, 那么就从标准输入上读取

指令

选项

说明

示例演示

head

示例

head head.txt head2.txt

Linux初识及常用命令_txt文件_85


编辑



-c

打印起始的n个字节

示例

head -c 3 head.txt head2.txt

Linux初识及常用命令_当前目录_86


编辑



-n

显示起始的NUMBER行,而非默认的起始10行

示例

head -n 4 head.txt head2.txt

Linux初识及常用命令_重启_87


编辑



28.tail(输出文件的末尾部分)

  在标准输出上显示每个FILE的最后10行.    如果多于一个FILE,会一个接一个地显示,  并在每个文件显示的首部给出文件名.如果没有FILE,或者FILE是-,那么就从标准输入上读取.

命令

选项

说明

示例演示

tail

默认显示最后十行

示例

tail tail.log  

Linux初识及常用命令_当前目录_88


编辑


--retry

  即使tail开始时就不能访问 或者在tail运行后不能访问,也仍然不停地尝试打开文件.  -- 只与-f合用时有用

-c

输出最后N个字节

示例

tail -c 100 tail.log 

Linux初识及常用命令_当前目录_89


编辑


-f

 当文件增长时,输出后续添加的数据(实时监控日志文件)

示例

tail -f tail.log



-n

 输出最后N行,而非默认的最后10行

示例

tail -n 3 tail.log

Linux初识及常用命令_重启_90


编辑



ps:上面为常用命令,其它使用man tail查看帮助

帮助摘抄:《使用--follow  (-f)时,tail默认后接文件描述符,  这意味着即使tail显示的文件改名了,tail仍然可以  追踪到其末尾部分. 如果你确实希望查询文件的实际名而非文件描述符  (例如,日志轮转时), 这种默认的操作就不是你所期望的了. 在这种情况下应使用--follow=name. 这将导致tail通过周期性地重新打开所指定的文件来 追踪其是否被删除了,或者被其他程序重新创建了》

ps:常用命令,用于查看日志

29.which(查看命令所在位置)

查找当前环境中的命令所在位置(前提是命令可执行)

命令

选项

说明

示例演示

which

查找当前环境中的命令所在位置

示例

which tail

Linux初识及常用命令_txt文件_91


编辑



ps:其它使用man which 查看帮助

30.chmod(改变目录及目录下的内容的访问权限)

通过ll查看文件会看到以下信息。

Linux初识及常用命令_当前目录_92


Linux初识及常用命令_txt文件_93

编辑

下面对所展现的信息简单图示:

Linux初识及常用命令_重启_94


Linux初识及常用命令_当前目录_95

编辑

以下以 drwxr-xr-x.  为例进行权限的讲解

Linux初识及常用命令_txt文件_96


Linux初识及常用命令_重启_97

编辑

文件类型:

-

普通文件

b

块设备文件

c

字符设备文件

d

目录文件

l

链接文件(相当于win上面的快捷方式)

p

管道文件

s

socket文件

文件权限:

权限

文件上的权限

目录上的权限

其它

r

可读权限

目录下的文件名是否可读

可以用数字4表示

w

可写权限

目录下的文件是否可以创建编辑

可以用数字2表示

x

可执行权限

目录是否可以被搜索

可以用数字1表示

-

无相应权限

可以用数字0表示

权限分组:

权限被分为了三组,分别是

u

user (文件所有者)

g

group(文件所有者所在的组)

o

other(user,group之外的用户)

a

所有

权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替

上面的例子表示:

目录文件,文件所有者是root,root用户对改目录文件拥有读写执行的操作权限,与root所在同一组的用户拥有读写的权限,其它用户拥有读的权限

修改权限:

使用chmod命令改变指定文件访问权限有两种方式:一种是用符号标记所进行更改,另一种方式是采用8进制数指定新的访问权限。

①用符号标记进行更改

使用下面的语法格式来使用符号改变方式
  [ugoa][[+-=][rwx]

操作符'+'使得用户选择的权限被追加到每个指定文件,(操作给指定文件添加所选权限);操作符'-'使得这些权限被撤消;'='使得 指定文件只具有这些权限。

以下以

----------. 1 root root  0 3月  21 17:12 chmod.txt

 为例进行演示

指令

选项

说明

示例演示

chmod

  (u/g/o/a)+ (r/w/x)

加权限

示例

chmod a+r chmod.txt 

chmod u+w chmod.txt 

chmod g+x chmod.txt

chmod o+w chmod.txt

Linux初识及常用命令_txt文件_98


编辑



  (u/g/o/a)  -  (r/w/x)

减权限

示例

chmod a-w chmod.txt

Linux初识及常用命令_txt文件_99


编辑



  (u/g/o/a)  =  (r/w/x)

赋予相应权限,缺省则表示没有相应权限

示例

chmod a=wx chmod.txt

chmod a=rwx chmod.txt 

chmod a=rx chmod.txt

chmod a=- chmod.txt

Linux初识及常用命令_当前目录_100


编辑


 (偷个懒,这里不在单独注释了)

除了上面的用法,还可以使用【,】组合使用权限

示例

chmod a+r,o+w chmod.txt 

chmod u-r,g+x chmod.txt 

Linux初识及常用命令_txt文件_101


编辑



②用8进制数指定新的访问权限

 数字模式是一到4个八进制数,每个数由位权为4,2,1的3位叠加而得.被省略掉的数字缺省设置为零.

指令

选项

说明

示例演示

chmod

4,2,1

赋予相应权限

示例:

chmod 175 chmod.txt 

chmod 105 chmod.txt

chmod 77 chmod.txt

Linux初识及常用命令_txt文件_102


编辑


其它:

以下命令可与上面两种指令组合使用

指令

选项

说明

示例演示

chmod

-R

为目录即目录下的所有子目录和文件赋权

示例

chmod -R a=rx chmod

Linux初识及常用命令_重启_103


编辑


 由此看出,为chmod目录及以下所有文件目录赋予了a(所有)相同的rx权限


特殊权限(了解即可):

Linux初识及常用命令_当前目录_104


Linux初识及常用命令_txt文件_105

编辑

 除了rwx三种权限,还有一个s权限,这种权限通常称为 SetUID,简称 SUID 特殊权限。

SUID 特殊权限具有如下特点:

1.只有可执行文件才能设定 SetUID 权限,对目录设定 SUID,是无效的。

2.用户要对该文件拥有 x(执行)权限。

3.用户在执行该文件时,会以文件所有者的身份执行。

4.SetUID 权限只在文件执行过程中有效,一旦执行完毕,身份的切换也随之消失。

摘抄man chmod:

Linux初识及常用命令_当前目录_106


Linux初识及常用命令_重启_107

编辑

ps:上面为常用命令,其它使用man chmod 查看帮助

31.chown(修改文件所有者和组别)

chown修改每个由第一个非选项参数声明的给定file(文件)的用户和/或组的所有权.如下:
如果只给出了用户名(或者数字用户标识),那么该用户即成为每个指定文件的所有者,而该文件的组别并不改变.如果用户名后面紧跟着冒号和组名(或者是数字组标识),并且它们之间没有空格,那么文件的组所有权也随之改变.

chown

指令

选项

说明

示例演示

chown

如果没有冒号,则只改变所有者

示例

chown lvyq chmod

Linux初识及常用命令_txt文件_108


编辑



:

1.如果有一个冒号,却没有组名跟在用户名后,那么该用户即成为文件的所有者,而且文件的组改为该用户的登录组

2.如果给定了冒号以及组,但是省略了用户名,那么只有文件的组被修改

3.同时给定了用户名,冒号以及组,则改变文件相应的所有者和所属组

示例

chown lvyq: chmod

chown :root chmod

chown root:lvyq chmod

Linux初识及常用命令_txt文件_109


编辑


.

除了使用:以外,还可以使用逗号

摘抄:

Linux初识及常用命令_重启_110


编辑



示例

chown lvyq.root chmod

Linux初识及常用命令_txt文件_111


编辑



32.用户和用户组

Linux是个多用户的系统

用户:不同的用户对系统有不同的操作权限

用户组:具有相同特征用户的逻辑集合

用户和用户组的相关信息会存储在系统文件中,以下列举相关文件并进行说明

文件

说明

示例说明

/etc/passwd

系统用户配置文件,存储了系统中所有用户的基本信息

cat  /etc/passwd

可以看到如下内容:

Linux初识及常用命令_txt文件_112


编辑


由内容可以看出,该文件中存着许多用户,每一行对应着一个用户,同时可看到一些不是用来登录系统的用户,这些用户成为系统用户(伪用户),这些用户信息不能删除,删除的话可能导致依赖这些系统用户对应的服务无法使用。


示例说明:

root:x:0:0:root:/root:/bin/bash

每行用户信息以“:”为分割符,分割为七段,含义如下:

用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell

ps:该文件可以修改,将其它用户的uid修改为0,则可以将普通用户升级为超级管理员,反之亦然



用户名

密码

UID

GID

描述性信息

主目录

默认Shell

用户名仅是为了方便用户记忆,Linux 系统是通过 UID 来识别用户身份

x,表示用户有密码,但不是真正密码,密码存在/etc/shadow中

用户id,唯一,0表示超级用户, 1~99表示保其它预定义用户,100~999表示系统用户,1000之后表示普通用户

用户初始组的组 ID 号

没什么作用,

用户登录后有操作权限的访问目录,通常称为用户的主目录。

 Linux 的命令解释器

说白了,用户名并无实际作用,仅是为了方便用户的记忆而已

33.su

34.sudo

35.alias

36.



标签:文件,示例,--,常用命令,编辑,初识,Linux,txt,目录
From: https://blog.51cto.com/lvyq/5765134

相关文章

  • Linux下编写ENC28J60网卡驱动,完善网络设备框架
    一、框架模型linux下设备驱动都有一套标准的结构,字符设备,块设备,网络设备都是自己的一套框架。编写驱动只需要把内核的框架搞清楚,然后照着结构填入参数,注册进内核,在应用层就......
  • linux查看版本
    root@38fffa7c9485:/#uname-aLinux38fffa7c94853.10.0-1160.el7.x86_64#1SMPMonOct1916:18:59UTC2020x86_64GNU/Linuxroot@38fffa7c9485:/#root@38ff......
  • linux—— 使用gcc解析程序四个阶段
    (文章目录)一、gcc1.gcc的安装yum-yinstallgcc-c++autoconfpcrepcre-develmakeautomakeyum-yinstallwgethttpd-toolsvim2.gcc的默认使用[yzq@VM-8-8......
  • Linux学习-2
    虚拟机关键配置名词解释虚拟⽹络编辑器说明 桥接模式  可以访问互联⽹   配置的地址信息和物理主机⽹段地址信息相同,容易造成地址冲突   NAT模式 ......
  • 移动linux根目录的文件
    如果不小心执行了移动了根目录的文件到别的目录里面,当前会话已关闭咋恢复一、没关闭当前会话通过mv命令进行移动回来二、会话关闭如果买的是腾讯云的服务器或者......
  • Linux系统编程 第1、2章学习笔记
               ......
  • Linux 源码编译安装实现LAMP架构
    1.apache服务编译安装https://www.cnblogs.com/heyongshen/p/16803125.html说明:  编译安装默认不支持fastcgi功能和反向代理功能相关配置:  开启fastcgi功能和反向......
  • Anaconda常用命令
    如何创建、激活、退出虚拟环境创建虚拟环境condacreate-nnev_name(环境名称)python=3.7(对应版本号)激活虚拟环境condaactivateenv_name(环境名称)退出虚拟环境......
  • Linux安装Kafka(Docker方式)
    安装步骤(已亲测好使):#笔者版本ZOOKEEPER_VERSION=3.4.13//DockerVersion=18.03.1-ee-3#拉zookeeper镜像dockerpullwurstmeister/zookeeper#笔者版本KAFKA_VERSION......
  • 03-Go的执行原理及Go的常用命令
    go的源码文件分为三类:命令源码文件,库源码文件,测试源码文件命令源码文件:后缀.go的文件,一个目录下,只能有一个main的入口,否则build或install会报错。库源码文件:普通的源码......