目录
近期,博主在学习Linux,因为Linux和我们日常使用的Windows系统差异很大,Windows是图形化界面,操作起来简单方便,但是Linux则是基于命令行进行操作,“一切皆文件”的指令操作也是有点难于理解,本篇博客进行总结一下最近学到的一些指令操作:
一.Linux常用指令
1.ls指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
示例:
(1)-l 列出文件的详细信息
这里可以简写成:ll
2.pwd指令
语法: pwd
功能:显示用户当前所在的目录
示例:
3. cd指令
在Linux内核系统中,磁盘上的文件和目录组成一课目录树,每个节点都是目录或者文件.
cd指令就相当于Windows系统下的单击进入按钮
常用示例:
cd 文件名 :是指进入一个文件内进行操作
cd .. :返回上级目录下
4.touch指令
语法:touch [选项]... 文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
常用选项:
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
示例:
通过touch指令,进行创建了一个tmp.c的临时文件.
5.mkdir指令(比较重要)
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
示例:
(1)使用mkdir创建tmp11目录:
(2)使用mkdir递归创建目录:
创建一个-p tmp11/tmp12的目录
6.rm指令(重要)
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
示例:
常用选项:
-r 删除目录以及其下所有文件
-i 删除前逐一询问确定
7.man指令(重要)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
访问Linux手册页的命令是 man
语法: man [选项] 命令
8.mv指令(重要)
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录
语法: mv [选项] 源文件或目录 目标文件或目录
功能:1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中
示例:
使用mv对test.c进行重命名.
常用选项:
-f:强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i:若目标文件已经存在时,就会询问是否存在
9.cat指令
语法:cat [选项][文件]
功能: 查看目标文件的内容
示例:
10.与时间相关的指令
date显示
date 指定格式显示时间: date +%Y:%m:%d
date用法:date [OPTION]... [+FORMAT]
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒(00..61)
%X : 相当于 %H:%M:%S
%d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相当于 %Y-%m-%d
2.在设定时间方面
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@当前时间的时间戳 date -d@1663034251
date -d@0 则是显示:1970.01.01 08:00:00
11.find指令:(很重要)
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很 多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系 统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法:
find pathname -options
功能:
用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
示例:
12.grep指令
语法:
grep [选项] 搜寻字符串 文件
功能:
在文件中搜索字符串,将找到的行打印出来
示例:
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
13.zip/unzip指令
这个可能要先解释一下打包和压缩的概念
打包:是将东西放在一起
压缩:采取某种压缩算法,压缩它的存储空间
为什么?
所有的操作都是为了便于传输,或者是便于归档怎么办?
zip/unzip操作
在Linux下的解压和压缩工作非常的多
zip/unzip zip -r name.zip 你的目录下
unzip name.zip #在当前对应的路径下
unzip name.zip -d 在对应指定的路径下
zip指令:
unzip指令
unzip指令用于解压文件
语法:
unzip解压文件zip选项目录
功能:
将压缩文件解压到指定目录下
注意:如果没有带-d和指定目录默认解压到当前目录下
14.file指令
语法:file
功能:查看文件的更多属性信息
二.初期学习问题总结
权限问题
刚开始这个问题挺困扰我的,刚开始从root超级用户进入到我的私有用户的时候,使用su指令进入到我的个人用户,但是出现了下面的问题,使用指令无权限,我是购买的华为云的服务器,在确保服务器正常运行的情况下,无论是重启还是其他一系列的问题都没有得到解决,最后通过CSDN查找到是权限问题.
解决方法:
使用su -l +用户名,个人用户也可以进行访问相当多的指令信息,问题得到解决!
写在最后
基于个人的LInux系统学习还不算多,后面会持续更新学习过程,我是老胡,关注不迷路!