【Linux学习】基本指令其一

命令行界面

命令行终端是一个用户界面,允许用户通过输入文本命令与计算机系统进行交互。
比如Windows下, 键入win+R,然后输入cmd,就可以输入文本指令与操作系统交互了。
Windows有另一个命令行界面Powershell,它的功能比cmd更强大。

图形化界面

图形用户界面, 通过图形元素(如窗口,图标,按钮,菜单)与用户进行交互。比如,我们想运行桌面的软件,一般通过双击。其实,本质是解释器运行某个指令。
图形化界面本身就是易用, 可视化的操作对于一般的用户友好。

Linux的快捷键

  1. shift + insert 粘贴
  2. ctrl + insert 复制
  3. alt + Enter 全屏切换

基本指令

pwd指令
  1. pwd指令: 查看·当前所处工作目录
➜  ~ pwd
/home/LiuGuanYi
ls指令
  1. 语法: ls [选项][目录或文件]
  2. 功能:对于目录,该命令列出该目录下的所有子目录与文件。
    对于文件,列出文件名及其他相关信息。

查看当前目录的文件

➜  ~ ls
C  PowerVim

部分选项介绍:

  1. ls -l: -l 列出文件的详细信息
  2. ls - a: -a 列出目录下所有的文件(其中包括隐藏文件)。
  3. ls -d: -d 将目录像文件一样显示,而不是默认显示其内部的文件。
➜  ~ ls -l
total 8
drwxrwxr-x 2 LiuGuanYi LiuGuanYi 4096 Sep 21 23:40 C
drwxrwxr-x 5 LiuGuanYi LiuGuanYi 4096 Sep 19 00:21 PowerVim
➜  ~ ls -a
.              .bash_profile  .ctags.20240919002159  .vim                 .vimrc.20240919002159                         .zshrc
..             .bashrc        .oh-my-zsh             .vim.20240919002159  .zcompdump-iZ2vc518r9oil4ibtgiqodZ-5.0.2      .zsh.swp
.bash_history  C              .pki                   .viminfo             .zcompdump-iZ2vc518r9oil4ibtgiqodZ-5.0.2.zwc
.bash_logout   .ctags         PowerVim               .vimrc               .zsh_history
➜  ~ ls -d
.
➜  ~ ls -d C
C
➜  ~ ls C 
hello.c

关于ls -l ,这展示了文件的详细信息, 比如文件总块数,目录还是文件,文件大小,修改日期,文件或目录名称等等。

关于ls -a,补充一下:
.开头的文件是隐藏文件,其中.表示当前目录,..表示当前目录。

关于ls -d C,C是我自己演示创建的目录,这种指定目录像文件显示。
如果取消-d选项, 那么会显示其内部文件。

选项可以分批次
ls -l -a -d
或者
ls -ald

cd指令

Linux下一切皆文件, 磁盘上的目录和文件被组织成一个目录树。
在这里插入图片描述

绝对路径和相对路径
  1. Windows下的路径分割符:\
  2. Linux下的路径分隔符:/
    路径:由路径分隔符隔开的多个文件夹构成的字符串
    Windows中:C:\User
    Linux:/home/test

Linux下访问一个文件,就得找到它,必须通过路径定位。
绝对路径
从根节点(根目录)出发,定位一个文件或者目录的路径被称为绝对路径。
相对路径
从当前某个文件或目录相对于其它文件或者目录的路径称作相对路径。

数据结构角度,。
直观上,自由树从任意节点定位到其它节点必定存在唯一简单路径。
而且,我们可以有效找到对应, 比如叶子节点是目录树中的文件或者空目录,非叶子节点是目录树中的非空目录这些。

cd指令: change directory, 功能:改变工作目录。 从当前工作目录进行到指定目录,切换路径。

->  ~ cd ./C
->  C 

结合上面的隐藏文件...
这里熟练使用即可

cd .. : 返回上级目录
cd /home/ : 绝对路径
cd ./C : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

cd ./... 是引用当前目录下的文件
下面例子说明, .的作用是引用当前生成的可执行文件hello

➜  C nano hello.c
➜  C cat hello.c
#include<stdio.h>
    int main(void){
    printf("hello Linux!\n");
    return 0;
   }
➜  C gcc hello.c -o hello
➜  C ls
hello  hello.c
➜  C hello
zsh: command not found: hello
➜  C ./hello
hello Linux!

  1. 使用nano编辑器创建并打开hello.c文件。—可以自行配置一下nano.
  2. hello.c文件编辑这么一段简单的C程序
  3. cat指令打印hello.c文件的内容
  4. gcc编译文件
  5. ./hello 运行可执行程序。
touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

时间戳
Unix时间戳:从1970年1月1日00:00:00 UTC起的秒数。
时间戳就是当前时间减去1970.1.1.00:00:00差值换算的秒数

1.touch指令的 新建文件 功能。

➜  C ls
hello  hello.c
➜  C touch hello2.c
➜  C ls
hello  hello2.c  hello.c
  1. 更新访问时间
➜  C ls -l hello2.c
-rw-rw-r-- 1 LiuGuanYi LiuGuanYi 0 Sep 22 00:24 hello2.c
➜  C touch hello2.c
➜  C ls -l hello2.c
-rw-rw-r-- 1 LiuGuanYi LiuGuanYi 0 Sep 22 00:26 hello2.c

-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间

stat

获取文件的时间信息
简单举例:

➜  C stat hello2.c
  File: ‘hello2.c’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 1321304     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1008/LiuGuanYi)   Gid: ( 1008/LiuGuanYi)
Access: 2024-09-22 00:26:52.973871315 +0800
Modify: 2024-09-22 00:26:52.973871315 +0800
Change: 2024-09-22 00:26:52.973871315 +0800
 Birth: -

mkdir

语法:mkdir [选项] dirname
功能:当前目录下创建名为 “dirname”的目录。

比如在C目录下创建名为src的目录。

➜  C mkdir src
➜  C ls
hello  hello2.c  hello.c  src

选项:
-p, ---parents , parent是/与目录分割的字符串,可用来一次性建立层次的目录。

➜  C mkdir -p  src/src1/src2/src3
➜  C ls
hello  hello2.c  hello.c  src
➜  C tree src
src
└── src1
    └── src2
        └── src3

3 directories, 0 files

tree: 输入yum install -y tree, tree 目录名, 将当前目录及其后续以树状结构展示出来。

rmdir

语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的使用者
功能:用来删除空目录
不能直接删除父目录,因为其不为空。但可以通过路径删除子目录。

➜  C rmdir src  
rmdir: failed to remove ‘src’: Directory not empty
➜  C rmdir src/src1/src2/src3
➜  C tree src
src
└── src1
    └── src2

2 directories, 0 files

常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

这样就可以连带删除了。

➜  C rmdir -p src/src1/src2
➜  C ls
hello  hello2.c  hello.c
rm

语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录

-r:强制删除目录及其所下的文件

➜  C mkdir -p src/src1/src2/src3
➜  C ls
hello  hello2.c  hello.c  src
➜  C tree src
src
└── src1
    └── src2
        └── src3

3 directories, 0 files
➜  C rm -r src
➜  C ls
hello  hello2.c  hello.c

-rm -rf 目录名称
强制删除该目录所有文件。root用户不会请求确认。

-f 若文件属性为只读(即写保护),亦直接删除。
-i删除前询问确认。

结尾

时不我待。
提前学习Linux是有必要的,为后面学习操作系统课准备。不过计组,数据库两本书还没看完,现在学Linux会不会太贸然了。
专业课真是压得人喘不过气, 一周能写几篇博客已是不易,不过算了, 走自己的路。

正因逆境多艰辛, 不愿世事扰心志。 风霜已久无人问, 自在天地任逍遥。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值