ShellshellLinux_System

Shell命令(1):文件操作相关命令

2018-08-10  本文已影响12人  xuweizhen

Shell命令

linux主要由四部分组成:

可以看出,shell非常重要。

1. Shell版本众多,如何知道你使用的是哪一个shell版本?

一般来说,系统默认的shell就是bash shell, 但是使用的shell取决于你用户登录时的shell.
因为root用户id配置的shell是bash,所以使用root用户登录时,使用的就是bash.

2. 如何查询所有系统的账户列表

在/etc/passwd文件中包含了所有系统的账户列表和每个用户的基本配置信息

root:x:0:0:root:/root:/bin/bash
rebatch:x:1001:100::/home/rebatch:/bin/bash

参数解析

3. shell提示符

在登录shell之后,会跳出一行,通常是当前目录+$,提示你输入:

tyhddb:/home/rebatch #

这个就是shell CLI提示符。

问题:如果你使用不同的linux系统,或者切换其他用户时,你可能会发现提示符会出现不同的格式,这个是怎么控制的?
控制命令提示符的环境变量有两个:

在shell中输入使用默认的PS1提示符,如果需要输入附加的信息,才使用PS2,一般很少用到PS2.

既然是环境变量,我就可以在设置环境变量的地方设置它。

export PS1='$PWD>'
/home/rebatch/batch-home/env>

我们也可以使用echo $PS1来看看PS1的规则:

tyhddb:~ # echo $PS1
\[\]\h:\w #\[\]

这个root用户的PS1看起来有点奇怪,解释一下
每一个指令都是 /+字符 表示

示例:
主机名/用户名:当前目录 (普通用户使用,root用户使用#)

export PS1='\h/\u:\w \$\[\]'
tyhddb/rebatch:~ $
tyhddb/rebatch:~ $su root
密码:
tyhddb/root:/home/rebatch #

注意:一定要在头尾加上单引号',否则/转义不起作用

4. bash手册

bash有自己的帮助文档,如果有命令不是很了解时可以查询,只要使用man 命令名称即可。

man cp

NAME
       cp - copy files and directories
SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
       -a, --archive
              same as -dR --preserve=all
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO

5. 文件系统

我们在登录shell的时候,一般当前的位置都是主目录,需要进入其他目录进行操作。了解一下linux的文件系统。

5.1 根目录

linux中只有一个目录,存贮所有的文件,这个目录是虚拟目录,而最基本最开始的一个是根目录。
一般使用cd /即可进入根目录

5.2 常用目录

在根目录下有很多目录,而且系统中这些目录都相同

5.3 浏览目录命令

更改目录命令:cd 路径
路径可以是绝对路径,也可以相对路径

5.4 文件和目录列表

查看文件和目录命令:ls

ls命令可以查看某些文件

5.5 文件处理

5.5.1 创建文件

创建空文件使用touch命令: touch 文件名

5.5.2 复制文件

复制文件使用cp命令:cp src dest
若文件已存在,会提示是否覆盖
将文件复制到当前所在目录,可以使用.

cp /home/test .

5.5.3 链接文件

链接文件有两种:

硬链接创建的文件索引号相同,实际上是同一个文件。
软链接创建的文件索引号不相同,是不同的文件,而且软链接文件至存储源文件的相关信息,而不是文件中的实际数据。

5.5.4 重命名文件

重命名文件也是移动文件,使用mv src dest
如果在同一个目录,就是文件重命名的功能
移动带有链接的文件会有问题,链接的文件不再有效。

5.5.5 删除文件

删除文件使用rm file
rm删除的文件无法还原
如果删除带有软链接和硬链接的文件,软链接无法打开文件,但可以打开硬链接。

5.6 目录处理

5.6.1 创建目录

创建目录使用mkdir dir

5.6.2 删除目录

删除目录使用rmdir dir,但只能删除空目录,目录下有文件不能删除
所以一般使用rm -r dir删除目录
但一般会出现很多删除提示,所以使用rm -rf dir强制删除所以目录

5.7 查看文件内容

5.7.1 查看文件系统中文件的完整摘要

使用ls不能查看出所有信息,使用stat file命令查看完整摘要信息

5.7.2 查看文件类型

stat命令查询的信息少了文件类型信息,查看文件类型使用file test命令。
file命令将文件分为3类:

5.7.3 查看整个文件

5.7.3.1 cat命令

cat file直接显示所有的文件内容。
cat -n file:为所有行添加编号,在查看脚本很有用
cat -b file:为带文本的行添加编号
cat -T file: 去掉所有的跳格字符
cat命令对于大的文件不好用,查找某些数据需要不停的滚动,建议大文件使用more命令

5.7.3.2 more 命令

more file也是显示文本文件,但显示完一页数据就停止,可以手动翻页或查询。
在more程序中,可以使用提示符进行一些操作

5.7.3.3 less命令

less命令比more命令更加高级,可以在命令读完整个文件之前显示文件内容,可以轻松应对大型文件。
less命令操作和more命令操作基本相同,而且可以识别向上向下,翻页键等。

5.7.4 查看部分文件

5.7.4.1 tail命令

tail命令显示最后一组文件行,默认显示最后10
行。

5.7.4.2 head 命令

与tail命令类似,head命令显示开头的一组文件行,默认显示10行,也支持-c-n命令。
因为文件开头不会更改,所以没有-f命令

上一篇下一篇

猜你喜欢

热点阅读