Linux基础

                                        (一)Linux文件

Linux目录结构

     Linux的文件系统采用级层式的树状目录结构,最上层结构只有一个根目录“/” ,Linux是以文件的形式管理我们的设备Linux系统一切皆文件, 在终端中输入 ls / 结构如下:

  树枝目录结构:

    /bin:这个目录存放着最经常使用的命令

    /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

    /dev :dev是Device(设备)的缩写,在Linux中访问设备的方式和访问文件的方式是相同的。

    /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

    /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

    /lib:这个目录里存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。

    /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

    /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

    /mnt:该目录让用户临时挂载别的文件系统的,可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

    /opt:这是给主机额外安装软件所摆放的目录,默认是空的。

    /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内

容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。

    /root:该目录为系统管理员,也称作超级权限者的用户主目录。

    /sbin:这里存放的是系统管理员使用的系统管理程序。

    /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

    /srv:该目录存放一些服务启动之后需要提取的数据。

    /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的

      devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

    /tmp:这个目录是用来存放一些临时文件的。

    /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

    /usr/bin:系统用户使用的应用程序。

    /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

    /usr/src:内核源代码默认的放置目录。

    /etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

    /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

    /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个

目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

2、远程操作Linux

    在终端输入 setup -->系统服务 -->查看sshd是否启动:

    安装Xshell(用于登录Linux和操作命令)和Xftp(用于上传和下载文件):

    Xshell:在终端输入ifconfig查看ip

    创建连接:

    Xftp:同Xshell

   乱码问题:

3、vi/vim编辑器

      vi/vim 分为三种模式,分别是命令模式、输入模式和底线命令模式

      命令模式:启动 vi/vim,便进入了命令模式,此状态下敲击键盘动作会被识别为命令,而非输入字符。

      i 切换到输入模式,以输入字符。

     x 删除当前光标所在处的字符。

     : 切换到底线命令模式,以在最底一行输入命令。

     输入模式:在命令模式下按下i就进入了输入模式:

    字符按键以及Shift组合,输入字符

     ENTER,回车键,换行

     BACK SPACE,退格键,删除光标前一个字符

     DEL,删除键,删除光标后一个字符

    方向键,在文本中移动光标

    HOME/END,移动光标到行首/行尾

    Page Up/Page Down,上/下翻页

    Insert(关闭小键盘下的0),切换光标为输入/替换模式,光标将变成竖线/下划线

    ESC,退出输入模式,切换到命令模式

    底线命令模式:在命令模式下按下:(英文冒号)就进入了底线命令模式,底线命令模式可以输入单个或多个字符的命令,可用

的命令非常多。

    q 退出程序、w 保存文件、按ESC键可随时退出底线命令模式。

    vim键盘图:

    ① 一般模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法
h 或 向左箭头键(←)光标向左移动一个字符,前面加数字移动多个字符
j 或 向下箭头键(↓)光标向下移动一个字符,前面加数字移动多个字符
k 或 向上箭头键(↑)光标向上移动一个字符,前面加数字移动多个字符
l 或 向右箭头键(→)光标向右移动一个字符,前面加数字移动多个字符
[Ctrl] + [f]屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b]屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d]屏幕『向下』移动半页
[Ctrl] + [u]屏幕『向上』移动半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
n<space>那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
0 或功能键[Home]这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End]移动到这一行的最后面字符处(常用)
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G移动到这个档案的最后一行(常用)
nGn 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg移动到这个档案的第一行,相当于 1G 啊! (常用)
n<Enter>n 为数字。光标向下移动 n 行(常用)
搜索替换
/word向光标之下寻找一个名称为 word 的字符串。 (常用)
?word向光标之上寻找一个字符串名称为 word 的字符串。 (常用)
n这个 n 是英文按键。代表重复前一个搜寻的动作,会继续搜寻下一个字符串。
N这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。
:n1,n2s/word1/word2/gn1 与 n2 为数字,在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/g从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
删除、复制与贴上
x, Xx 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nxn 为数字,连续向后删除 n 个字符。
dd删除游标所在的那一整行(常用)
nddn 为数字。删除光标所在的向下 n 行。 (常用)
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
d$删除游标所在处,到该行的最后一个字符
d0那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy复制游标所在的那一行(常用)
nyyn 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G复制游标所在行到第一行的所有数据
yG复制游标所在行到最后一行的所有数据
y0复制光标所在的那个字符到该行行首的所有数据
y$复制光标所在的那个字符到该行行尾的所有数据
p, Pp 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! (常用)
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u复原前一个动作。(常用)
[Ctrl]+r重做上一个动作。(常用)
.小数点,意思是重复前一个动作的意思。

    一般模式切换到编辑模式的可用的按钮说明:

进入输入或取代的编辑模式
i, I进入输入模式(Insert mode):
i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A进入输入模式(Insert mode):
a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O进入输入模式(Insert mode):
这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!(常用)
r, R进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
[Esc]退出编辑模式,回到一般模式中(常用)

    一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令
:w将编辑的数据写入硬盘档案中(常用)
:w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关!
:q离开 vi (常用)
:q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
:w [filename]将编辑的数据储存成另一个档案(类似另存新档)
:r [filename]在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。
:! command暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
vim 环境的变更
:set nu显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu与 set nu 相反,为取消行号!

vim 乱码问题

    vim打开文件出现乱码,一般就是编码格式与解码不一致,可以直接修改文件编码,也可以通过vim ~/.vimrc修改
set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1

4、 Linux基本操作

    关机 shutdown: 
        shutdown -h now :表示立即关机
        shutdown -h 1 : 表示1分钟后关机
        shutdown -r now :表示立即重启

    halt :表示立即关机

    reboot :表示立即重启

    sync :把内存数据写入到磁盘,关机重启前可以

Linux新建用户

    用户的组:

        用户配置信息:在终端中输入vim  /etc/passwd

       组配置文件:vim  /etc/group

    口令配置文件 :vim  /etc/shadow 

    运行级别:

    0  :表示关机

    1  :表示单用户,可以用于找回密码,或者对于默认模式为0、6时无法正常使用可以单用户模式进行切换

    2  :表示多用户状态没有网络服务

    3  :表示多用户有网络

    4  :保留

    5  :图形用户界面

    6  :系统重启

    切换运行级别的方法 :init + 数字 (0,1,2,3,5,6)

    更改默认运行级别的方式:

    忘记root密码找回方法:

 

    登录成功后输入passwd命令修改密码即可。

5、Linux指令

    帮助指令:

    man + 命令

    help + 命令

    文件目录类指令:

    pwd  显示当前工作目录的绝对路径

pwd有两个可选参数 -P、-L
-p 默认此方式,显示当前目录的完整路径,如果存在Link文件时显示该link的完整路径
-L 显示当前目录的完整路径,如果存在Link文件时显示link最终指向的文件目录的完整路径

【例1】
[root@hadoop1 ~]# pwd
/root

   ls 查看目录和文件

                                             ls 可选参数列表
-a:显示所有文件及目录(包含隐藏文件);
-A:显示除隐藏文件以外的所有文件;
-C:默认此参数,多列显示输出结果;
-l:别名ll,与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:
    “*”表示具有可执行权限的普通文件, “/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,
    “=”表示sockets套接字,当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“\”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。
与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、
所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color=x:x参数为always、yes、force、never、no、none、auto、tty、if-tty
使用不同的颜色高亮显示不同类型的。

【例1】 查看/home目录下非隐藏文件
[root@hadoop1 ~]# ls -c /home
yl122  yl314

【例2】 查看/root目录下非隐藏文件并且显示文件大小
[root@hadoop1 ~]# ls -l --block-size=k /root
总用量 132K
-rw-------. 1 root root  2K 8月  22 05:47 anaconda-ks.cfg
-rw-r--r--. 1 root root 36K 8月  23 15:04 index.html
-rw-r--r--. 1 root root 42K 8月  22 05:47 install.log
-rw-r--r--. 1 root root 10K 8月  22 05:44 install.log.syslog
drwxr-xr-x. 2 root root  4K 8月  22 22:30 公共的
drwxr-xr-x. 2 root root  4K 8月  22 22:30 模板
drwxr-xr-x. 2 root root  4K 8月  22 22:30 视频
drwxr-xr-x. 2 root root  4K 8月  22 22:30 图片
drwxr-xr-x. 2 root root  4K 8月  22 22:30 文档
drwxr-xr-x. 4 root root  4K 8月  23 16:51 下载
drwxr-xr-x. 2 root root  4K 8月  22 22:30 音乐
drwxr-xr-x. 2 root root  4K 8月  23 22:06 桌面

    cd  切换到指定目录

cd 可选参数列表
-p 切换到指定目录,如果目标目录是link,直接切换到link指向的目标目录;
-L 切换到指定目录,如果目标目录是link,直接切换到link指向的最终目录。

cd 用法
cd    进入用户主目录;
cd ~  进入用户主目录;
cd -  返回进入此目录之前所在的目录;
cd ..  返回上级目录(若当前目录为“/“,则执行完后还在“/");
cd ../..  返回上两级目录;
cd !$  把上个命令的参数作为cd参数使用。

【例1】
[root@hadoop1 ~]# cd /home/yl122
[root@hadoop1 yl122]# cd ../
[root@hadoop1 home]# cd yl122
[root@hadoop1 yl122]# cd ../../etc
[root@hadoop1 etc]# 

 Linux中七种文件类型:

    普通文件:Linux中最多的一种文件类型, 包括 纯文本文件(ASCII),二进制文件(binary),数据格式的文件(data),各种压缩文件,第一个属性为 [-] 。

    目录文件:就是目录, 能用 cd 命令进入的,第一个属性为 [d]

    块设备文件 :就是存储数据以供系统存取的接口设备,简单而言就是硬盘,第一个属性为 [b]

    字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]

    套接字文件:这类文件通常用在网络数据连接,可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进

行数据通信,第一个属性为 [s],最常在 /var/run目录中看到这种文件类型

    管道文件:FIFO是一种特殊的文件类型,主要目的是解决多个程序同时存取一个文件所造成的错误,第一个属性为 [p] 

    链接文件:类似Windows下面的快捷方式,第一个属性为 [ l ]

Linux文件权限

    数字设定法:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3 个从0到7的八进制数,其顺序是(u)(g)(o);      

    u 表示“用户(user)”,即文件或目录的所有者;
    g 表示“同组(group)用户”,即和文件属主有相同组ID的所有用户;
    o 表示“其他(others)用户”; 

    r 可读,相当于4;
    w 可写,相当于2;
    x 可执行,相当于1;

Linux文件与目录的三种时间状态(mtime,atime,ctime)

       在Linux中,一个文件有三种时间,分别是:访问时间、修改时间、状态时间;与Windows不同的是Linux中没有创建时间。

       >修改时间(mtime):文件的内容被最后一次修改的时间,我们经常用的ls -l命令显示出来的文件时间就是这个时间,当用vim对文件进行编辑之后保存,它的mtime就会相应的改变。

       >访问时间(atime):对文件进行一次读操作,它的访问时间就会改变。例如像:cat、more等操作,但ls命令对atime是不会有影响的。

      >状态时间(ctime):当文件的状态被改变的时候,状态时间就会随之改变,例如当使用chmod、chown等改变文件属性的操作是会改变文件的ctime的。

 

 

    单独查看三个时间的操作 

ls -lc 文件名    列出文件的ctime (最后更改时间)
ls -lu 文件名    列出文件的atime(最后存取时间)
ls -l 文件名      列出文件的mtime(最后修改时间)

mkdir  创建目录

 mkdir [参数] [目录名]
-m <目标属性> 或 --mode <目标属性>  建立目录的同时设置目录的权限,无参数默认为-m 755
-p 或 --parents 递归创建目录;

【例1】
[root@hadoop1 ~]# cd /opt
[root@hadoop1 opt]# mkdir wudang
[root@hadoop1 opt]# mkdir -p shaoli/yuanzhen
[root@hadoop1 opt]# mkdir -m 740 mingjiao
[root@hadoop1 opt]# ls -l
总用量 54248
drwxr-----. 2 root root     4096 8月  25 07:34 mingjiao
drwxr-xr-x. 2 root root     4096 8月  25 07:16 p
drwxr-xr-x. 2 root root     4096 3月  26 2015 rh
drwxr-xr-x. 3 root root     4096 8月  25 07:33 shaoli
drwxr-xr-x. 2 root root     4096 8月  25 01:26 text
-rw-r--r--. 1 root root 55485539 3月  22 17:11 VMwareTools-10.2.5-8068393.tar.gz
drwxr-xr-x. 9 root root     4096 3月  22 17:10 vmware-tools-distrib
drwxr-xr-x. 2 root root     4096 8月  25 07:32 wudang
[root@hadoop1 opt]# 

rmdir 删除空目录

[root@hadoop1 opt]# ls
124  740       rh      VMwareTools-10.2.5-8068393.tar.gz
125  mingjiao  shaoli  vmware-tools-distrib
710  p         text    wudang
[root@hadoop1 opt]# rmdir 124
[root@hadoop1 opt]# rmdir shaoli                  ==>>rmdir 无法删除非空目录
rmdir: 删除 "shaoli" 失败: 目录非空          

rm 删除目录及文件

[root@hadoop1 opt]# ls -l
总用量 54216
drwxr-xr-x. 2 root root     4096 8月  25 07:16 710
drwxr-xr-x. 2 root root     4096 8月  25 11:45 777
drwxr-----. 2 root root     4096 8月  25 07:34 mingjiao
drwxr-xr-x. 3 root root     4096 8月  25 07:33 shaoli
drwxr-xr-x. 2 root root     4096 8月  25 01:26 text
-rw-r--r--. 1 root root 55485539 3月  22 17:11 VMwareTools-10.2.5-8068393.tar.gz
drwxr-xr-x. 9 root root     4096 3月  22 17:10 vmware-tools-distrib
drwxr-xr-x. 2 root root     4096 8月  25 07:32 wudang
[root@hadoop1 opt]# rm text
rm: 无法删除"text": 是一个目录
[root@hadoop1 opt]# rm -r text
rm:是否删除目录 "text"?y
[root@hadoop1 opt]# rm -rf wudang
[root@hadoop1 opt]#

touch 创建一个文件

【例一】
[root@hadoop1 ~]# cd /opt
[root@hadoop1 opt]# touch hongloumeng.txt          ==>创建一个空文件
[root@hadoop1 opt]# ls
710  hongloumeng.txt  VMwareTools-10.2.5-8068393.tar.gz
770  mingjiao         vmware-tools-distrib
777  shaoli           yl122.txt

cp  将一个或多个源文件或者目录复制到指定的目的文件或目录

cp [参数] 初始位置 目标位置
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

【例】将一个文件复制到当前文件夹
[root@hadoop1 opt]# cp ../home/yl122/jingpingmei .       ==>小数点表示当前文件夹
[root@hadoop1 opt]# ls
710  hongloumeng.txt  shaoli                             yl122.txt
770  jingpingmei      VMwareTools-10.2.5-8068393.tar.gz
777  mingjiao         vmware-tools-distrib

【例】
[root@hadoop1 opt]# cp hongloumeng.txt ../home/yl314
[root@hadoop1 opt]# cd /home/yl314
[root@hadoop1 yl314]# ls
hongloumeng.txt
[root@hadoop1 yl314]# cp hongloumeng.txt ../yl456/       ==> 目标位置必须存在,cp指令无法创建目录
cp: 无法创建普通文件"../yl456/": 是一个目录

【例】
[root@hadoop1 opt]# ls
710      hongloumeng.txt  VMwareTools-10.2.5-8068393.tar.gz
770      jingpingmei      vmware-tools-distrib
777      mingjiao         vmware-tools-distrib (2)
hlm.txt  shaoli           yl122.txt

[root@hadoop1 opt]# cd ../home/yl314
[root@hadoop1 yl314]# ls
[root@hadoop1 yl314]# cp -rf /opt/*.txt .     ==> 将opt目录下的所有后缀为.txt的文件复制到当前目录
[root@hadoop1 yl314]# ls
hlm.txt  hongloumeng.txt  yl122.txt

   这里会有一个问题,就是无论怎样加参数,覆盖复制总是提示,这是因为设置了别名,可以使用vim ~/.bashrc去修改。

mv 移动(重命名)文件或目录

mv [参数] 文件位置 目标位置
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:强制移动;
-i:交互式操作,覆盖前先行询问用户;
-S <后缀> :为备份文件指定后缀,而不使用默认的后缀;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

【例】重命名
[root@hadoop1 yl314]# mv yl122.txt yl.txt        ==> 如果目标位置与原位置一致那么会覆盖移动,即重命名
[root@hadoop1 yl314]# ls
hlm.txt  hongloumeng.txt  yl.txt

cat 显示文件内容

cat [参数] 文件位置
-b,                        对非空输出行编号
-n,                        显示行号;
-s,                       有连续两行以上的空白行,就代换为一行的空白行
-T,                       将跳格字符显示为 ^I

【例】
[root@hadoop1 opt]# cat hlm.txt
《红楼梦》
曹雪芹  高鄂  著
第一回  甄士隐梦幻识通灵 贾雨村风尘怀闺秀
列位看官:你道此书从何而来?说起根由,虽近荒唐,细按则深有趣味。待在下将此来历注明,方使阅者了然不惑。

【例】显示行号
[root@hadoop1 opt]# cat -n hlm.txt
     1    《红楼梦》
     2    曹雪芹  高鄂  著
     3    第一回  甄士隐梦幻识通灵 贾雨村风尘怀闺秀
     4    列位看官:你道此书从何而来?说起根由,虽近荒唐,细按则深有趣味。待在下将此来历注明,方使阅者了然不惑。

【例】合并
[root@hadoop1 opt]# cat hlm1.txt hlm2.txt hlm3.txt > HLM.txt
[root@hadoop1 opt]# ls
hlm1.txt   hlm3.txt   HLM.txt           mingjiao
hlm1.txt~  hlm3.txt~  hongloumeng.txt   shaoli
hlm2.txt   hlm.txt    hongloumeng.txt~  yl122.txt
hlm2.txt~  hlm.txt~   jingpingmei       《红楼梦》完整版.txt

【例】用cat写文件,如果文件不是空会直接覆盖
[root@hadoop1 opt]# cat > HLM.txt 
1234567890     ==>输入完毕按回车
^C                     ==> ctrl + c 退出
[root@hadoop1 opt]# cat HLM.txt 
1234567890

【例】用cat写文件 + EOF 追加写
[root@hadoop1 opt]# cat >> HLM.txt <<EOF
> qwertyu
> EOF

[root@hadoop1 opt]# cat HLM.txt 
1234567890
qwertyu

more 按页向前浏览文本文件

   【 more [选项] 文件位置 】 
    -<数字>:指定每屏显示的行数;
    -d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
    -c:不进行滚屏操作。每次刷新这个屏幕;
    -s:将多个空行压缩成一行显示;
    -u:禁止下划线;
    +<数字>:从指定数字的行开始显示。

    【 more快捷键 】
    Space键:             显示文本的下一屏内容。
    Enter键:               只显示文本的下一行内容。
    h键:                    显示帮助屏,该屏上有相关的帮助信息。
    b键:                    显示上一屏内容。
    q键:                   退出more命令。

【例】每页显示指定行
[root@hadoop1 opt]# more -c -10 《红楼梦》完整版.txt 
《红楼梦》
曹雪芹  高鄂  著

第一回  甄士隐梦幻识通灵 贾雨村风尘怀闺秀
列位看官:你道此书从何而来?说起根由,虽近荒唐,细按则深有趣味。待在下将
此来历注明,方使阅者了然不惑。
原来女娲氏炼石补天之时,于大荒山无稽崖炼成高经十二丈、方经二十四丈顽石三
万六千五百零一块。娲皇氏只用了三万六千五百块,只单单剩了一块未用,便弃在
此山青埂峰下。谁知此石自经煅炼之后,灵性已通,因见众石俱得补天,独自己无
材不堪入选,遂自怨自叹,日夜悲号惭愧。

less 按页随意浏览文件

       less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

【例】同时打开多个文件,并且可以使用 :n 和 :p 进行切换
 [root@hadoop1 opt]# less 《天龙八部》.TXT 《红楼梦》完整版.txt     

>指令与>>指令的区别

    > 输出重定向:会将原来的文件内容覆盖
    >> 追加:追加到文件的末尾

ln  为一个文件在另外一个位置建立链接

      连接分为软连接(symbolic link)和硬连接(hard link)之分的,软连接又叫符号连接,符号连接相当于Windows下的快捷方式。
      对于一个文件来说,有唯一的索引节点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应,因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。
      软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理。
      硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的,由于这个原因,硬链接不能连接两个不同文件系统上的文件。

【例】创建软连接
[root@hadoop1 桌面]# ln -s /opt/《红楼梦》完整版.txt ~/桌面/
[root@hadoop1 桌面]# ls -l
总用量 4
lrwxrwxrwx. 1 root root 33 8月  26 21:38 《红楼梦》完整版.txt -> /opt/《红楼梦》完整版.txt
-rw-r--r--. 1 root root 90 8月  23 07:38 新文件~

【例】创建硬连接
[root@hadoop1 桌面]# ln /opt/《红楼梦》完整版.txt ~/桌面/
[root@hadoop1 桌面]# ls -l
总用量 5132
-rwxrwxrwx. 3 root root 2623008 8月  26 21:44 《红楼梦》完整版.txt
-rw-r--r--. 1 root root 2623006 8月  26 21:44 《红楼梦》完整版.txt~
-rw-r--r--. 1 root root      90 8月  23 07:38 新文件~

作者水平有限,若有问题请留言,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值