linux文件与目录基本操作

显示文件内容命令-       cat\head\tail\more\less

1.  cat该命令的主要功能是显示文件,另外还能够用来连接两个或多个文件,形成新的文件。

cat  [option] filename

cat命令中各个选项的含义如下。

(1)v:用一种特殊形式显示控制字符,LFD与TAB除外。

(2)E:在每行的末尾显示一个$字符。该选项要与-v选项一起使用。

(3)A:显示不可打印字符,行尾显示“$”

(4)n或-number:有1开始对所有输出的行数编号

(5)s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行

 

命令使用实例.

[root@localhost root]# cat Readme.txt        //在屏幕上显示出Readme.txt文件的内容。

 

2.head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

head - number filename

命令使用实例.

[root@localhost root]# head - 3 test.c

//前3行的具体内容

#include <studio.h>

#include <sring.h>

int main()

 

3.tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在//

显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

tail option filename

tail命令中各个选项的含义如下。

(1)+num:从第num行以后开始显示。

(2)-num;从距文件尾num行处开始显示;如果省略num参数,系统默认值为10.

(3) l:以文本行为num的计数单位;与参数选项+num或-num选项同时使用时,num表示显示的文本行行数。

(4)c:以字节为num的计数单位;与参数选项+num或-num选项同时使用时,num表示显示的字符数。

 

命令使用实例.

tail file (显示文件file的最后10行)

tail +20 file (显示文件file的内容,从第20行至文件末尾)

tail -c 10 file (显示文件file的最后10个字符)

 

 

4.more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单//

中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

more [option] filename

more命令中各个选项的含义如下。

(1)-p: 显示下一屏之前先清屏。

(2)-c:作用同-p类似。

(3)-d:在每屏的底部显示更友好的提示信息为“--more--(XX%)[Press space to contiune,'q'to quit.]"

(4)-s:在文件中连续的空白行压缩成一个空白行显示。

(5)-c:不进行滚屏操作。每次刷新这个屏幕.

(6)-s:将多个空行压缩成一行显示.

(7)-u:禁止下划线.

(8)+<数字>:从指定数字的行开始显示。

 

 

命令使用实例.

显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。

more -dc file

显示文件file的内容,每10行显示一次,而且在显示之前先清屏。

more -c -10 file


5.less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而//

more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

[root@localhost root]# less test

less命令中各个选项的含义如下。

(1)-e:文件内容显示完毕后,自动退出;
(2)-f:强制显示文件;
(3)-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
(4)-l:搜索时忽略大小写的差异.

 

 

改变工作目录、显示路径及显示目录内容命令---- cd\pwd\Is


1. cd命令用来切换工作目录至dirname

more命令中各个选项的含义如下.

(1)-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录

(2)-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。

- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

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


2.pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出
 [root@localhost working] # #pwd
/root/working

命令使用实例.
[root@localhost ~]# pwd
/root


3.ls 會列舉出當前工作目錄的內容(文件或文件夾),就跟你在GUI中打開一個文件夾去看裏面的內容一樣。
is [option] [dirname\filename]
命令使用实例.
//列出当前目录的内容
#[root@localhost scr]# Is -A
freeswan-2.5 linux-2.4.18 linux-2.5.22




目录的创建与删除命令------
mkdir\rmdir


1.mkdir命令用来创建目录
mkdir [option] [dirname]

more命令中各个选项的含义如下.
(1)-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
(2)-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

命令使用实例.

在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问

mkdir -m 700 /usr/meng/test

在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问

mkdir -p-m 750 bin/os_1



2.rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。

rmdir [option] [dirname]

rmdir命令中各个选项的含义如下.
(1)-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;



命令使用实例.
删除子目录os_1和其父目录bin
cd /usr/meng/test
rmdir -p bin/os_1





文件的复制、移动和删除命令-----cp\mv\rm

1.cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录

cp(选项)(参数)
cp命令中各个选项的含义如下.

(1)-a:此参数的效果和同时指定"-dpR"参数相同;
(2)-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
(3)-f:强行复制文件或目录,不论目标文件或目录是否已存在;
(4)-i:覆盖既有文件之前先询问用户;
(5)-l:对源文件建立硬连接,而非复制文件;
(6)-p:保留源文件或目录的属性;
(7)-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
(8)-s:对源文件建立符号连接,而非复制文件;

命令使用实例.

将文件file复制到目录/usr/men/tmp下,并改名为file1

cp file /usr/men/tmp/file1

将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh

cp -r /usr/men /usr/zh

交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh

cp -i /usr/men m*.c /usr/zh




2.mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录
mv(选项)(参数)

mv命令中各个选项的含义如下.

(1)-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
(2)-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”
命令使用实例.

将文件ex3改名为new1

mv ex3 new1

将目录/usr/men中的所有文件移到当前目录(用.表示)中:

mv /usr/men/* .




3.rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是//
删除整个链接文件,而原有文件保持不变。

rm (选项)(参数)
rm命令中各个选项的含义如下.
(1)-f:强制删除文件或目录;
(2)-i:删除已有文件或目录之前先询问用户;
(3)-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

命令使用实例.

交互式删除当前目录下的文件test和example

rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)

删除当前目录下除隐含文件外的所有文件和子目录

# rm -r *




who
who命令是显示目前登录系统的用户信息。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入//
时间以及从何处登入或正在使用哪个X显示器。
who(选项)(参数)
who命令中各个选项的含义如下.
(1)H或--heading:显示各栏位的标题信息列;
(2)-i或-u或--idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
(3)-m:此参数的效果和指定"am i"字符串相同;


命令使用实例.
[root@localhost ~]# who
root     pts/0        2013-08-19 15:04 (192.168.0.134)
root     pts/1        2013-12-20 10:37 (180.111.155.40)

[root@localhost ~]# who -q
root root
# users=2



su
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

su(选项)(参数)
su命令中各个选项的含义如下.
(1)-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
(2)-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
(3)-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
(4)-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
(5)-s<shell>或--shell=<shell>:指定要执行的shell;

命令使用实例.

变更帐号为root并在执行ls指令后退出变回原使用者:

su -c ls root

变更帐号为root并传入-f选项给新执行的shell:

su root -f

变更帐号为test并改变工作目录至test的家目录:

su -test




poweroff

poweroff命令用来关闭计算机操作系统并且切断系统电源。
poweroff(选项)

poweroff命令中各个选项的含义如下.

(1)-n:关闭操作系统时不执行sync操作;
(2)-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
(3)-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
(4)-f:强制关闭操作系统;
(5)-i:关闭操作系统之前关闭所有的网络接口;
(6)-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
命令使用实例.

如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。

使用poweroff立即关闭系统:
poweroff


shutdown

shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
shutdown(选项)(参数)

参数

  • [时间]:设置多久时间后执行shutdown指令;
  • [警告信息]:要传送给所有登入用户的信息。
shutdown命令中各个选项的含义如下.
(1)-c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令;
(2)-f:重新启动时不执行fsck;
(3)-F:重新启动时执行fsck;
(4)-h:将系统关机;
(5)-k:只是送出信息给所有用户,但不会实际关机;
(6)-n:不调用init程序进行关机,而由shutdown自己进行;
(7)-r:shutdown之后重新启动;
(8)-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。

命令使用实例.

指定现在立即关机:
shutdown -h now

指定5分钟后关机,同时送出警告信息给登入用户:
shutdown +5 "System will shutdown after 5 minutes"


touch
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是//
用来创建新的空文件。

touch(选项)(参数)

参数

文件:指定要设置时间属性的文件列表。

touch命令中各个选项的含义如下.
(1)-a:或--time=atime或--time=access或--time=use  只更改存取时间;
(2)-c:或--no-create  不建立任何文件;
(3)-d:<时间日期> 使用指定的日期时间,而非现在的时间;
(4)-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
(5)-m:或--time=mtime或--time=modify  只更该变动时间;
(6)-r:<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
(7)-t:<日期时间>  使用指定的日期时间,而非现在的时间;

命令使用实例.
touch ex2

在当前目录下建立一个空文件ex2,然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。

 

 

stat

stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

 

stat(选项)(参数)
stat命令中各个选项的含义如下.
(1)-L:支持符号连接;
(2)-f:显示文件系统状态而非文件状态;
(3)-t:以简洁方式输出信息;
(4)--help:显示指令的帮助信息;
(5)--version:显示指令的版本信息
命令使用实例.
[root@localhost ~]# ls -l myfile
-rw-r--r-- 1 root root 0 2010-10-09 myfile

[root@localhost ~]# stat myfile
file: “myfile”
Size: 0               Blocks: 8          IO Block: 4096   一般空文件
Device: fd00h/64768d    Inode: 194805815   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2010-12-12 12:22:35.000000000 +0800
Modify: 2010-10-09 20:44:21.000000000 +0800
Change: 2010-10-09 20:44:21.000000000 +0800

[root@localhost ~]# stat -f myfile
File: "myfile"
id: 0        Namelen: 255     type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 241555461  free: 232910771  Available: 220442547
Inodes: Total: 249364480  Free: 249139691

[root@localhost ~]# stat -t myfile
myfile 0 8 81a4 0 0 fd00 194805815 1 0 0 1292127755 1286628261 1286628261 4096




tac
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
tac(选项)(参数)

参数

文件列表:指定要保存内容的文件列表。



命令中各个选项的含义如下.

(1)-a或——append:将内容追加到文件的末尾;
(2)-i或——ignore-interrupts:忽略中断信号。




各类别文件的快捷表示

- 普通文本文件
d 目录文件
c 字符设备文件
l 链接文件
b 块设备文件


posted @ 2020-09-28 16:14  沙洋  阅读(170)  评论(0)    收藏  举报