【Linux学习】Linux的基本指令(一)_linux redir-程序员宅基地

技术标签: Linux操作系统  学习  运维  linux  

1、引言

对于IT行业的从业者或学生而言,无论从事嵌入式开发、后端开发以及前端开发,Linux是无法绕开的操作系统。从实际开发和就业的角度,学Linux是从业的必备技能。我将对Linux的原理(操作系统的进程、线程、信号、通信等,文件系统,文件,动静态库)以及Linux开发所需要的计算机网络(主要TCP/IP模型)、MySQL(常规操作+部分核心原理(索引,事务等))进行博客撰写。

2、Linux的重要性

操作系统是一款进行软硬件管理的软件。操作系统对软硬件进行合理管理(手段),以达到为上层用户提供良好的、稳定的、安全的运行环境的目的。计算机本质上就是一个工具,它比较复杂,因而需要管理。

Linux版本

技术版本线:主版本.次版本.修正次数 ;2.6.32 中次版本偶数:稳定版本,奇数:测试版本

商业化版本线:CentOS、Ubuntu 、kail、红旗…

Linux是开源系统,有着丰富的开源社区和项目;在Linux上开发能够避免不必要的垃圾代码,降低开发成本。此外,也有很多顶级工程师,免费参与撰写系统,其理想在于开源、改变世界。理论上越新的商业化版本匹配的是越新的内核代码。

为什么开源?有什么好处?

Linux操作系统3-5年不关机不会出故障,而Windoes一般1-2月不关机就显示很卡;

Windows的图形化界面对普通人很友好;

Linux更安全、更稳定、效率更高,普遍被企业接收;

涉及到数据安全,Linux有无后门一览无余,而Windows由于是闭源很难发现。

开源 闭源
稳定性 较强 中等
安全行 开源修复比较快 修复速度比较慢
效率 较快 较低

人多了,将自己的代码暴露出去,自然有很多人帮忙指出问题并提供标准答案。

指令操作,所有平台都支持,只不过指令操作是Linux上专业程序员应该懂得。

3、基本指令

在学习基本指令前,需要了解几个知识。什么叫当前路径?即用户所处的路径。文件由下图组成:

image-20221109232147733

文件的属性数据也是数据,因而文件 = 内容 + 属性

此外,/是路径分割符。

绝对路径:麻烦,一般是在某些配置文件中,进行对某种文件 进行配置的时候采用;

相对路径:简单,一般学习、开发都能使用。

3.1 ls指令

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:
-a //列出目录下的所有文件,包括以.开头的隐含文件。
-d //将目录象文件一样显示,而不是显示其下的文件。 如:ls -d 指定目录
-i //输出文件的i节点的索引信息。如ls -ai指定文件
-k //以k字节的形式文件的大小。如ls -aIk指定文件
-l //列出文件的详细信息
-n //用数字的UID,GID代替名称
-F //在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;=”表示套接字(sockets)-r //对目录反向排序
-t //以时间排序
-s //在I文件名后输出该文件的大小
-R //列出所有子目录下的文件(递归)
-1 //一行只输出一个文件

一般只需掌握-l-a的即够使用。

3.2 用户管理相关的命令

adduser name //新增用户
passwd name //用户密码设置
userdel name //删除用户

3.3 pwd 指令

当前用户所处的目录

image-20221109222807460

3.4 mkdir指令

image-20221109213958790

3.5 touch 指令

在当前目录创建普通文件

image-20221109214128726

3.6 cd指令

Linux系统中,磁盘上的文件和目录被组成一棵树,每个节点都是目录或文件。

image-20221109205317271

几乎所有的操作系统,管理文件的方式,基本都是采用多叉树的形式。(目录约束)

为什么我们可以“采用路径”的方式,进行定位文件?

例如:/home/bit/test.c

具有唯一性–>因为每一个节点,都只有一个父节点。

从根目录开始的叫绝对路径。

cd ~:直接进入当前用户(whoami)的家目录。

image-20221109210519010

cd - :回到上一次所处的路径

image-20221109210345021

注意ctr + c :终止程序运行。

通过yum install -y tree来安装tree,通过tree来展示lesson107下的文件:

image-20221109212524253

3.7 stat指令

image-20221109213503489

上图,stat指令只能查看文件的属性,具体如下:

-File:显示的文件名为test.c;

-Size:文件的大小;

-Blocks:文件test.c占用的数据块总数;

-IO Block:IO块的大小;

-Device:设备编号;

-Inode:Inode号;

-Links:链接数;

-Access:文件的权限;

任何一个文件,都会有三种时间,即ACM

  • Access :表示文件被访问的时间。当文件内容被访问时,系统更新这个时间;
  • Modify :表示文件内容被修改的时间。当文件中的内容被修改时,系统更新这个时间;
  • Change:表示文件的状态时间。当文件的状态被修改时,系统更新这个时间,例如文件的链接数,大小,权限,Blocks数。

3.8 rm指令

image-20221109214257085

rm删除普通文件test.c

3.9 redir指令

image-20221109214422943

redir只能删除空目录,如上图的空目录test_05

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46172366/article/details/127780270

智能推荐

java2d javafx_学习JavaFX(一):初步认识GUI设计-程序员宅基地

文章浏览阅读314次。JavaFX v.s. JavaJavaFX:声明式、静态类型的脚本语言;它具有一等函数、声明的语法、列表推导,以及基于依赖关系的增量式求值等特征;JavaFX 脚本式语言特别适用于Java2D swing GUI组件,它允许简单地创建图形界面;在JavaFX中可以直接调用Java的算术、逻辑运算符,instance等操作符,还可以显式调用Java类库和方法;使用JavaFX可以轻松的编写跨平台的..._jframe javafx

hive常见语法错误分组聚合_hive跑聚合函数老出问题-程序员宅基地

文章浏览阅读1.3k次。一、hive常见语法错误 图 1.1当我们在用hive进行数据表的操作时 我们会用得到group by函数那么如图1.1所示假如按照 name 和 month 进行分组SELECT tl.name ,tl.month,max(tl.amount) ASmonth_amount,sum(tr.amount)_hive跑聚合函数老出问题

Android10 NotificationCompat.Builder使用_notificationcompat.builder 设置应用名称-程序员宅基地

文章浏览阅读829次。文章目录1.弃用构造函数2.新方法使用参考链接可用构造函数3.结果1.弃用构造函数@Deprecated public Builder(android.content.Context context)2.新方法使用参考链接参考链接:https://www.cnblogs.com/chunshu/p/10317960.html可用构造函数public Builder(@NonNull android.content.Context context, @NonNu_notificationcompat.builder 设置应用名称

cas搭建后测试以及问题引出_这么测试cas对接成功-程序员宅基地

文章浏览阅读597次。目录概要cas服务端测试idea配置tomcat概要在上两篇的教程中(cas服务端搭建、cas客户端搭建)仅仅是对搭建流程以及启动方式进行一个文字说明,具体测试过程中可能出现的问题,也还没有涉及,因此本篇课程主要就是带着大家从cas客户端到cas服务端的整体联调,以及引出相关的问题并进行解决。cas服务端测试在cas服务端搭建教程的第五小节介绍了启动cas服务的两种方式,我们现在使用外置tomcat启动方式,从idea配置到启动,再到测试登录进行统一的分步骤说明。idea配置tomcat这一步其_这么测试cas对接成功

kernel panic 调试方法(2)-Oops信息的调试及栈回溯_kernel 崩溃但是没有oops打印信息-程序员宅基地

文章浏览阅读686次。Oops 信息来源及格式Oops 这个单词含义为“惊讶”,当内核出错时(比如访问非法地址)打印出来的信息被称为 Oops 信息。Oops 信息包含以下几部分内容。1 一段文本描述信息。比如类似“Unable to handle kernel NULL pointer dereference at virtual address 00000000”的信息,它说明了_kernel 崩溃但是没有oops打印信息

h3c包过滤防火墙_包过滤华三-程序员宅基地

文章浏览阅读948次。acl过滤hc文件一,配置指令RT1sysint g0/0ip add 10.0.0.1 24int g0/1ip add 20.0.0.1 24ripver 2undo sumnetwork 10.0.0.0network 20.0.0.0quip rou 30.0.0.0 24 20.0.0.2acl advanced 3000rule permit ip source 10.0.0.15 0 destination 30.0.0.17 0rule deny ip s._包过滤华三

随便推点

Android使用https链接_file:///android_asset/cac/warning.html-程序员宅基地

文章浏览阅读8.8w次。Https与Http类似,只不过Https一般是通过post请求服务器,但是Https与http不同的是Https与服务器会话是处于连接状态。http则发送请求后连接就会断开。另外使用HttpsURLConnection时需要实现HostnameVerifier 和 X509TrustManager,这两个实现是必须的,要不会报安全验证异常。package cn.yws.httpstest_file:///android_asset/cac/warning.html

docker 在push镜像到本地registry出现的500 Internal Server Error_retrying in 1 second-程序员宅基地

文章浏览阅读1.6w次。在push镜像到本地registry时,出现以下错误:]# docker push 192.168.163.131:5000/testThe push refers to a repository [192.168.163.131:5000/test]9ec45e5f0334: Retrying in 1 second 33f1a94ed7fc: Retrying in 1 second_retrying in 1 second

Navicat连接Oracle时报错ORA-28547:connection to server failed,probable Oracle Net admin error_navicate 链接oracle 报错 net admin erro-程序员宅基地

文章浏览阅读3.8k次。问题描述: Navicat连接Oracle时报错: ORA-28547:connection to server failed,probable Oracle Net admin error 问题原因:oci.dll版本不对,Navicat本地的OCI版本..._navicate 链接oracle 报错 net admin erro

Qt Quick实现的涂鸦程序_qml unable to assign int to qobject*-程序员宅基地

文章浏览阅读784次。之前一直以为 Qt Quick 里 Canvas 才可以自绘,后来发觉不是,原来还有好几种方式都可以绘图!可以使用原始的 OpenGL(Qt Quick 使用 OpenGL 渲染),可以构造QSGNode 来绘图,还可以使用 QPainter !哇, QPainter 我很熟悉啊。于是,我用 QPainter 结合 QML 实现了一个简单的涂鸦程序: PaintedItem 。它有下列功能:_qml unable to assign int to qobject*

php 定时缓存,php怎么设置缓存时间-程序员宅基地

文章浏览阅读633次。php设置缓存时间的方法:首先创建一个PHP示例文件;然后通过“if(is_file('./index.html') && (time()-filemtime('./index.html')) < 60){...}”方法设置缓存时间即可。推荐:《PHP视频教程》本教程操作环境:Windows7系统、PHP5.6版适用于所有品牌电脑php处理静态页面:页面设置缓存时间1.页面添..._(time()-filemtime

python 动态库和静态库_python静态库和动态库的区别-程序员宅基地

文章浏览阅读6k次,点赞6次,收藏10次。学习Python这门语言首先要了解 什么是编译与解释,什么是连接,什么是动态库与静态库, 什么是编译:编译就是先把高级语言设计的程序翻译成二进制的机器语言,然后CPU直接执行机器码就可以了。一把翻译再执行编译型语言在于速度快。 什么是解释:解释就是在程序运行时,才把高级程序语言一条一条地翻译成二进制的机器语言。边运行边翻译成二进制机器语言。所以速度没有编译来得快。边执行..._python静态库和动态库的区别