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还是很大的区别,这个查看的更细致,包括整个命令块的信息都能看到,访问时间, 更改时间,修改时间等。
看下述图来区别下:


  1. Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
  2. Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
  3. 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 基础命令总结案列的主要内容,如果未能解决你的问题,请参考以下文章

JDBC 代码简写版案列

Linux 基础知识

Linux 基础知识

Linux命令总结

Linux基础命令

学习linux 服务器安全这一篇文章就够了