千家信息网

linux基础之初学者新手——文件目录命令

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,本篇主要讲目录相关的基本命令,本篇讲到的所有命令都是使用redhat server 8.0和centos 7截图演示。讲命令之前先讲几个概念和基本基础命令。1、登录系统开机之后系统的样子是这样的然后按
千家信息网最后更新 2024年11月21日linux基础之初学者新手——文件目录命令

本篇主要讲目录相关的基本命令,本篇讲到的所有命令都是使用redhat server 8.0和centos 7截图演示。
讲命令之前先讲几个概念和基本基础命令。

1、登录系统

开机之后系统的样子是这样的

然后按照你设置的账号和密码填入,变成这样就是登录成功:

2、命令提示符


如上图中的最后一行,有个中括号加美元符号,这个就是命令提示符了。这代表我们现在已经可以写入命令并运行。
[sun@sunny ~]$ 中,第一个字符sun代表的是用户名,@是分隔符,sunny是host主机名,~代表家目录()一般的普通用户的家目录在/home/username,root用户的家目录为/root。这个地方其实就是显示当前工作目录的,开机默认的工作目录就是在/home/username。后面的提示符一般有两个:
$ 表示为普通权限用户
#表示为管理员root权限用户

who

用来查看现在有哪些使用在线,使用的是哪个tty登录时间是多少。

whoami

用来查看当前使用的用户名。

3、切换用户 su

切换用户的命令为su,Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。所有的用户都有权限来使用这个命令。

su

直接输入,使用密码可以切换到root权限的身份,但不会切换工作目录也不会改变环境变量。如图:

此时,当前命令提示符已经变为#,但我们依然还是在/home/sun这个工作目录,也就是说环境变量并未发生改变。

su -(su -l)

su 加短横线,su -,使用该命令可以切换到root账户,并改变工作目录环境。如图:

除了切换到root权限用户,其还可以接root 或其他用户名,一样的也可以切换过去。选项-l为完全切换,注意区分下图的区别:

4、# pwd(print work directory)
pwd命令为显示当前所在的工作目录。执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。如上一个命令su就反复使用到。
-p 显示实际目录。

5、#man
man命令 是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。但是我们使用man查找的时候命令会有多个章节。
whatis 命令可以查看一共有多少个重名章节。man -f 等价于whatis。

想要阅读某个章节的手册直接 man 章节号 接命令 如,man 1 ls。
各个章节的内容如下,比较重要的是1,5,8:
1、用户命令(/bin,/usr/bin,/usr/local/bin)
2、系统调用 工具
3、库调用 /bin,库是将一个或多个内核调用封装起来的高级调用,不能直接执行,没有执行入口,只能被调用。
4、特殊文件 ,设备文件,作为访问的入口 如 tty
5、文件格式 配置文件 如 passwd 修改密码,/etc/passwd
解释配置文件的语法
6、游戏
7、杂项 miscellaneous
8、管理命令 (/sbin ,/usr/sbin , /usr/local/sbin)
9、跟内核相关的文件
n、Tcl或Tk指令

在man手册中,不同的符号有不同的用处:
[] 中括号表示可以缺省
| 竖线 表示可以多选一,但是不能并存
{} 花括号表示 分组
<> 尖括号表示 必选 于中括号相反
… 省略号表示 可以多次使用重复出现

man手册里不同的信息都被区分开来,主要有如下类别的信息:
NAME:命令名称
SYNOPSIS:用法的简要说明,可用的选项
DESCRIPTION:详尽的功能讲解,选项的意义
OPTIONS:说明每一个选项的意义
FILES:与此命令相关的配置文件
BUGS:如果有bug请提供至该邮箱
EXAMLES:举例说明
SEE ALSO:另见参照
因为man手册的内容都很丰富,因此,有时候需要使用一些快捷键,来进行查找和翻页等(CLI命令行界面不支持鼠标翻页)
1、翻屏
向前一屏 b键
向后一屏 空格键
向前一行 k,
向后一行 回车
2、查找
/keyword 向后查找
?keyword 向前查找
n 下一个
N 前一个
q键为退出

6、ls
在linux系统中不同的文件类型会有不一样的颜色,我们常见的目录是蓝色的,可执行文件是绿色的。
目录是路径映射,也是文件。Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
参数 :

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
-d显示目录自身属性 inode节点信息
-i 显示inode 索引节点号

ls -l 第一个字符会显示文件类型,常用的文件类型有以下几种:

  • 短横线代表普通文件files
    d 字母d代表这是格目录文件dir
    b 字母b代表块设备文件 block /dev
    c 字符设备文件char /dev
    l link文件,又叫符号链接文件,或软连接文件,/dev
    p 代表管道文件 命令管道 pipe
    s 套接字文件 socket /tmp

在文件类型符号之后所跟的是九位文件权限,每三位一组,分别使用rwx表示读写和执行。

后面接的是文件被硬连接的次数

文件的属主owner

文件的属组group

文件的大小size

时间戳
mtime--modify 最后一次编辑被修改的时间
ctime--change 最后一次改变权限属性等的时间,这个时间会随着另外两个的改变而改变
atime--access 最后一次被访问的时间
使用touch 命令可以修改时间戳。

例如:列出根目录下的所有文件:# ls -al / | #ls /
bin dev lib media net root srv upload www
boot etc lib64 misc opt sbin sys usr
home lost+found mnt proc selinux tmp var
列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

#ls -ltr s*
将 /bin 目录以下所有目录及文件详细资料列出 :

#ls -lR /bin
列出目前工作目录下所有文件及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

#ls -AF

7、cd
Linux cd命令用于切换当前工作目录至 dirName(目录参数)。change directory。

其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

语法
cd [dirName]
dirName:要切换的目标目录。
实例
跳到 /usr/bin/ :

cd /usr/bin
跳到自己的 home 目录 :

cd ~
跳到目前目录的上上两层 :

cd ../..
在上个目录和当前目录之间来回切换

cd -

8、mkdir
Linux mkdir命令用于建立名称为 dirName 之子目录。

语法
mkdir [-p] dirName
参数说明:

-p 确保目录名称存在,不存在的就建一个。
实例
在工作目录下,建立一个名为 AAA 的子目录 :

mkdir AAA
在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)

mkdir -p BBB/Test
9、rmdir
Linux rmdir命令删除空的目录。

语法
rmdir [-p] dirName
参数:

-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
实例
将工作目录下,名为 AAA 的子目录删除 :

rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

rmdir -p BBB/Test
10、cp
Linux cp命令主要用于复制文件或目录。

语法
cp [options] source dest

cp [options] source... directory
参数说明:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:

$ cp -r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
11、rm
Linux rm命令用于删除一个文件或者目录。

语法
rm [options] name...
参数:

-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
实例
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

rm test.txt

rm:是否删除 一般文件 "test.txt"? y

rm homework

rm: 无法删除目录"homework": 是一个目录

rm -r homework

rm:是否删除 目录 "homework"? y
删除当前目录下的所有文件及目录,命令行为:

rm -r *
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。
12、mv
Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法
mv [options] source dest
mv [options] source... directory
参数说明:

-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果

命令格式 运行结果
mv 文件名 文件名 将源文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录已存在,将源目录
移动到目标目录;目标
目录不存在则改名
mv 目录名 文件名 出错
实例
将文件 aaa 更名为 bbb :

mv aaa bbb
将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs
再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

$ mv /usr/student/* .

0