Linux 基础命令总结案列
Posted oxc1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 基础命令总结案列相关的知识,希望对你有一定的参考价值。
前言——
1: linux命令是对Linux系统进行管理的命令。 对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心, linux命令在系统中有两种类型:内置Shell命令和Linux命令。
2:终端 terminal
我们平时在登录系统后的操作都是再终端操作的!(命令行界面)
假设你安装的是图形界面,首次使用可以利用右键鼠标来打开!
Ctrl+Alt+T也可以打开终端!不同的系统版本可能会有差异!
设备终端:键盘、鼠标、显示器
登陆终端用账号"PWD"来进入,我这边以root来登录,小提示,输入密码时候不会显示出来哦,不要以为输入法有问题或者键盘坏了!输入完,按enter就好了!如下:
我们都知道管理员的权限很大,我们再学习Linux哲学思想的时候了解过,一切皆文件!可见root的操作基本是百分百!(为了安全性 在做危险操作的时候系统会让你反复确认你的操作);这时候就有了普通用户(USER)登陆user后操作就更安全!接下来看2种用户类型
#管理员 $ 普通用户:
命令执行:
输入命令后回车,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来!
我们在学校阶段尽量做到每一个命令看清楚它的属性情况!
type COMMAND来查看这个命令是shell自带的还是外部命令
shell:翻译为外壳(简单讲就是用户和系统调用的桥梁)
内部命令:由shell自带的,而且通过某命令形式提供
外部命令:在文件系统路径下有对应的可执行程序文件
第二部分:接下来我们熟悉一些命令的基本操作!
1.cd(英文全拼:change directory)命令用于切换当前工作目录。
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。
跳转到home目录
利用~回到家目录
cd..为返回上一级目录:cd ../..回到目录的上两层
2.ls 命令就是list的缩写 ,ls用来打印出当前目录的清单。
如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件&而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等!举例说明:
列出当前目录文件,列出指定目录文件
我们通过命令ls --help查看更多的用法:内容较多,我这边列举常用的一些!
-a 显示所有文件及目录 (包括以.开头的隐藏文件)!
-A列出除.及..的其它文件!
以home下的文件为例:
ls-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出:
‘
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
3.pwd命令概述 pwd 是 Print Working Directory 的缩写,其功能是显示当前所在工作目录的全路径。 主要用在当不确定当前所在位置时,通过 pwd 来查看当前目录的绝对路径。
pwd -P 显示出实际路径,而非使用连接(link)路径。 (物理位置)
4.cp命令将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
我们先用man 命令看看所有的用法,复制粘贴,移动,删除等这种使用频率很高的,对于文件备份也会用到!一定要多记!
常用方式一:我们复制etc目录的下的yum.conf 文件到home路径下(文件到目录)
常用方式二:目录到目录(home下目录123,复制到目录456)
常用方式三:
当然,如果你复制的文件已经存在,如果通常加一个 -i选项,cp -i来提示你是否要覆盖!
文件单个选择复制很麻烦,就有了cp -r,R来进行递归复制。我们以etc目录下yum文件夹为列!直接复制会提示你文件夹的限制|!必须加 -r!如下:
在备份过程中有一个重要的环节,文件权限的问题!-p选项:
保留指定的属性(默认值:
模式,所有权,时间戳记)
其他属性:上下文,链接,xattr,
所有
和 cp -a的效果一致!
在来一个不加 -a的效果
通过时间可以看出区别!
5.rm命令:Linux rm(英文全拼:remove)命令用于删除一个文件或者目录。
常见用法:我使用移除123文件夹下面的1.txt举例!
为了防止误删除我们通常使用rm -ir选项(-i ,-r):交互式和递归删除的组合,删除前需要反复确认!
用法2:已经确认好文件无用,并把文件以及文件夹强制删除!rm -rf
还有一种特殊用法,删除以XXX开头的文件!rm -- XXX (#--处可以添加选项)
6.mv 容易理解,move,移动文件或修改文件名。这里要记住第二个特性,重命名;看下面案列
我们先看直接移动的用法:先随机创建一个1.txt文件。再从home目录下移动到456文件夹!
再看重命名的功能,移动前的名字123.txt 移动后名字变为44.txt
文件夹一样可以用
看mv -i ,交互式(此处意思就是遇到相同的文件会提示你)
很容易想到还有一个 mv -f选项(一般f结尾就是强制性的)看例子
小技巧:利用rename来批量修改文件名:
待添加。。。。。
7.文件夹的创建(mkdir--- make directory)
正常使用:mkdir (选项)(参数)
看案列:在home 目录下建立shrimp的文件
多级目录的创建:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;mkdir -p
依次创建123/456/789/000
在创建目录的过程中我们可以看到创建的详细情景(mkdir -v),我们便于查看所有的过程,我这边和pv结合(mkdir -pv),如下图可见:
常用点:创建目录的过程中,直接指定相应的权限,我这来创建shrimp目录为例,一个是最高的权限,一个是直接创建的。(mkdir -m )
8.文件查看类命令——file
根据帮助信息我们能了解到这个命令可以用来查看文件类型、编码格式等!
该命令的原理是按照不同规则把文件进行分类,如果该命令和内容匹配好了便会打印(展示)出来!逻辑是文件系统,魔法幻数,语言等!
下述看一些常见一些用法:
由案列可以看到文件名以及类型,
![]
下一种用法,不显示名字,只显示类型及编码!
用法三:当我们再查看大量的文件内容的时候,可以使用file -f,来打开这个文件,并对文件进行分类且会展开每一个文件详细信息!
用法四:
-i选项,可以输出文件的 MIME 类型字符串。Multipurpose Internet Mail Extensions(多用途邮件扩展类型,一般用来记录文件的类型及打开方式)
很明显可以看见文件类型,是属于二进制以及图片,最后有一Png的图片是属于软连接类型,我们一般用file -L的方式来获取详情,此处就不在单独举例说明!
用法五:尝试,,尝试获取压缩文档的类容:Try to look inside compressed files
file -z
我这边尝试了几种并没有成功展示出内容,仅仅是提供了类型:
更换了压缩格式后有所区别;
所以查看压缩文件我更推荐使用tar -zxvf NAME来解压后来实现:
9 :Touch 命令,touch命令有两个功能:大部分情况我们用来修改文件的 时间戳,还有一个作用就是创建文件夹文件等!( touch - change file timestamps)
用法1: 直接创建文件,从用法中可以看出,可以成功创建文件,在不指定时间的情况下,默认为当前时间:
用法2:把2个文件的时间戳统一一致:touch -r (以把A.log文件的时间戳换成 B.log的时间的)
当然它的重要用法更改时间戳不能错过:(touch -t 时间 文件),
可以看出时间的格式:[[CC]YY]MMDDhhmm[.SS]
CC世纪,YY就是多少年,MM就是月份 ,DD就是天数,hh就是小时,mm是分钟,ss就是秒钟,
10 .补充一个查看文件信息的命令:Stat (stat - display file or file system status)
和ls还是很大的区别,这个查看的更细致,包括整个命令块的信息都能看到,访问时间, 更改时间,修改时间等。
看下述图来区别下:
- Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
- Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
- Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。
因为后面做数据库备份啊,数据的安全性查询,何时被***等都会用到这3个概念,所以我也是找了很详细的资料。区分好最后2点就容易记了
11.Shutdown:关机、重启
shutdown:shutdown [OPTION]... TIME [MESSAGE]
,halt, poweroff,reboot
-f: 强制,不调用shutdown
-p: 切断电源
-r: reboot
TIME:
now: 立刻
+m: 相对时间表示法,从命令提交开始多久之后;例如 +5;
hh:mm: 绝对时间表示,指明具体时间;
-h: halt
-c:cancel
12.用户登录信息查看命令:
whoami: 显示当前登录有效用户;
who: 系统当前所有的登录会话;
w: 系统当前所有的登录会话及所做的操作;
Bash的基础特性
(1).History:命令历史
环境变量:
HISTSIZE:命令历史记录的条数;
HISTFILE:~/.bash_history;
HISTFILESIZE:命令历史文件记录历史的条数;
-d OFFSET:删除指定的第几条
-c:清空命令历史:
history #: 显示历史中最近的#条命令;
-a: 手动追加当前会话缓冲区的命令历史至历史文件中
调用历史中的命令:
!#: 重复执行第#条指令;
!!: 执行上一条
!string:最近一个以指定字串开头的命令,
!$: 调用上一条命令的最后一个参数:
E S C , .(先按ESC再按.)
Alt+.(按住ALT再按.),有些平台无法使用!
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;连续且相同方为“重复”;
ignorespace:忽略所有以空白开头的命令;
ignoreboth:2者都忽略(和平台有关)
修改环境变量值的方式:export 变量名="值"
变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;
(2).命令补全(tab)
bash执行命令:
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令;
直接补全:Tab,用户给定的字符串只有一条惟一对应的命令;
以用户给定的字符串为开头对应的命令不惟一,则再次Tab会给出列表;
(3)路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名;
如果惟一:则直接补全;
否则:再次Tab,给出列表;
(4) 命令行展开
~: 展开为用户的主目录
~USERNAME:展开为指定用户的主目录
:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/a,b = /tmp/a, /tmp/b
/tmp/tom,jerry/hi = /tmp/tom/hi, /tmp/jerry/hi
(5) 命令的执行结果状态
成功
失败
bash使用特殊变量$?保存最近一条命令的执行状态结果:
0:成功
1-255:失败
程序执行有两类结果:
程序的返回值;
程序的执行状态结果;
tree: 列出目录层级结构
#
-d: 只显示目录
-L level:指定显示的层级数目(设置为2级)
3级
#
#
以上是关于Linux 基础命令总结案列的主要内容,如果未能解决你的问题,请参考以下文章