Linux必备命令(二)

一、mv命令

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

1)如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。

2)如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp的结果不同,mv好像文件"搬家",文件个数并未增加。而cp对文件进行复制,文件个数增加了。

语法

mv (选项) (参数)

选项

--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;

-b:当文件存在时,覆盖前,为其创建一个备份;

-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;

-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入"y",表示将覆盖目标文件;输入"n",表示取消对源文件的移动。这样可以避免误将文件覆盖。

--strip-trailing-slashes:删除源文件中的斜杠"/";

-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;

--target-directory=<目录>:指定源文件要移动到目标目录;

-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

参数

源文件:源文件列表。 目标文件:如果"目标文件"是文件名则在移动文件的同时,将其改名为"目标文件";如果"目标文件"是目录名则将源文件移动到"目标文件"下。

实例

将文件ex3改名为new1

[root@localhost ~]# mv ex3 new1

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

[root@localhost ~]# mv /usr/men/* .

二、touch命令

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

语法

touch (选项) (文件)

选项

-a:或--time=atime或--time=access或–time=use 只更改存取时间;

-c:或--no-create 不建立任何文件;

-d:<时间日期> 使用指定的日期时间,而非现在的时间;

-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;

-m:或--time=mtime或--time=modify 只更该变动时间;

-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;

-t:<日期时间> 使用指定的日期时间,而非现在的时间;

--help:在线帮助;

--version:显示版本信息。

实例

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

[root@localhost ~]# touch test.txt

三、cat命令

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

语法

cat (选项) (文件)

选项

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

-b或--number-nonblank:和-n相似,只不过对于空白行不编号;

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

-A:显示不可打印字符,行尾显示"$";

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例

设ml和m2是当前目录下的两个文件 cat m1 (在屏幕上显示文件ml的内容)

cat m1 m2 (同时显示文件ml和m2的内容)

cat m1 m2 > file (将文件ml和m2合并后放入文件file中)

cat还有一种用法,cat …EOF…EOF

从键盘输入创建一个新文件或向现有文件中添加新数据:

进件新文件:cat >new_file_name <<EOF

>linux command                 //从键盘输入

>unix command                  //从键盘输入

>EOF                                    //从键盘输入,已结束书写

向现有文件中追加数据:cat >>file_name <<EOF

>CISP!

>CISSP!

>EOF

把多个文件内容合并到一个文件输出:

[root@localhost ~]# cat file1 file2 > file3

四、head命令

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

head (选项) (文件)

选项

将每个指定文件的头10 行显示到标准输出。

如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。

如果不指定文件,或者文件为"-",则从标准输入读取数据,长选项必须使用的参数对于短选项时也是必需使用的;

-q, --quiet, –silent            //不显示包含给定文件名的文件头;

-v, --verbose                     //总是显示包含给定文件名的文件头;

--help                                //显示此帮助信息并退出;

--version                           //显示版本信息并退出;

-c, --bytes=[-]K                //显示每个文件的前K 字节内容,如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容;

-n, --lines=[-]K                //显示每个文件的前K 行内容,如果附加"-"参数,则除了每个文件的最后K 行外显示剩余全部内容。

实例

显示test.txt文件的前10行内容

[root@localhost ~]# head test.txt

五、tail命令

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为"-",则读取标准输入。

注意:如果表示字节或行数的N值之前有一个"+"号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

语法

tail (选项) (文件)

选项

--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项"--follow=name"连用;

-c或--bytes=:输出文件尾部的N(N为整数)个字节内容;

-f或;--follow:显示文件最新追加的内容。"name"表示以文件名的方式监视文件的变化。"-f"与"-fdescriptor"等效;

-F:与选项"-follow=name"和"--retry"连用时功能相同;

-n或--line=:输出文件的尾部N(N位数字)行内容。

–pid=<进程号>:与"-f"选项连用,当指定的进程号的进程终止后,自动退出tail命令;

-q或--quiet或--silent:当有多个文件参数时,不输出各个文件名;

-s<秒数>或--sleep-interal=<秒数>:与"-f"选项连用,指定监视文件变化时间隔的秒数;

-v或--verbose:当有多个文件参数时,总是输出各个文件名;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

实例

[root@localhost ~]# tail file                    //显示文件file的最后10行

[root@localhost ~]# tail +20 file            //显示文件file的内容,从第20行至文件末尾

[root@localhost ~]# tail -c 10 file          //显示文件file的最后10个字符

六、VI、VIM简介

vi是一个命令行界面下的文本编辑工具,最早在1976年由Bill Joy开发,当时名字叫做ex。vi支持绝大多数操作系统(最早在BSD上发布),并且功能已经十分强大

1991年Bram Moolenaar基于vi进行改进,发布了vim,加入了对GUI的支持

vim已经不仅仅是普通意义上的文本编辑器(如windows上的记事本),而是被广泛的作为在文本编辑、方本处理、代码开发等等用途

Linux中知名的文本编辑器还有emacs,他的功能也还不错

七、VIM编辑器模式

vim的使用方式

命令行模式、文本输入模式、末行模式。

可视化全屏文本编译器之vim

vim是vi的升级版本,它是安装在linux操作系统中的一个软件

www.vim.org

八、VIM三种工作模式

命令模式:可以删除、复制、粘贴、撤销转换到录入模式

yy代表复制光标所在整行,nyy复制n行 3yy

p,P粘贴

yw复制光标所在的词组,不会复制标点符号,  nyw   3yw

撤消:u撤消上一次  U撤消当前所有

dd删除整行,ndd

删除一个字符 delete键或x   u一行行的撤销

dw删除一个词组

dG当前行到末尾

九、VIM快捷键

a–>从光标所在字符后一个位置开始录入

A–>从光标所在行的行尾开始录入

x–>删除当前光标下的字符

X–>删除当前光标左边的字符

s–>删除一个字符并进入编辑状态

S–>删除一整行并进入编辑状态

diw(dw)–>删除光标所在的单词,不包括空白字符

daw–>删除光标所在的单词,包括空白字符

D–>删除到行尾的内容

C–>删除一整行并进入编辑状态

cc–>删除一整行并进入编辑状态

dd–>删除一行

yy–>复制一行

o–>当前行下插入一空行

O–>当前行上插入一空行

A–>在当前行尾插入

.–>重复上一个命令

gg–>第一行行首

G–>最后一行行首

xG–>到x行

[[([])–>第一行行首

]](][)–>最后一行行首

i–>从光标所在字符前一个位置开始录入

I–>从光标所在行的行首开始录入

R–>从光标所在位置开始替换

ctrl-y–>向上滚屏(向上一行滚屏)

ctrl-e–>向下滚屏(向下一行滚屏)

ctrl-u–>向上滚动半屏(向上滚动半页)

ctrl-d–>向下滚动半屏(向下滚动半页)

ctrl-b–>向上滚动整屏(向上翻页)

ctrl-f–>向下滚动整屏(向下翻页)

ctrl-v–>可视块(选中字符复制或删除)

录入模式转至命令模式:按esc键

末行模式:1.查找、替换、末行保存命令

:w–>保存

:q–>退出                          //变一行  :s/x/y

:wq–>保存退出                //变前5行  :1,5sx/y

:wq!–>强制保存退出        //从第一行到最后一行  :1.$sx/y

:q!–>强制退出

:x–>保存

:w file_name–>保存file_name到当前目录

查找:

起点是光标所在位置

/stings1 从前往后找(正向搜索)    ?sting1从后往前走(反向搜索)

替换:<sed>

:s/this/that/g        //将this替换为that,前提是光标一定要移到那一行

:s/this/that            //将这一行中的第一次出现的this替换为that,也就是说只替换第一个

:1,$ s/is/are/g       //第一行到最后一行中的is替换为are

:1,2,3 s/is/are/g    //将第一行第二行第三行中的is改为are

如果文件在没有保存,但是机器突然重启了,先切换到所在的路径,然后可以用vim -r file_name这个命令恢复最近修改的一些信息

十、df命令

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [选项]

选项:

-a或--all:包含全部的文件系统; --block-size=<区块大小>:以指定的区块大小来显示区块数目;

-h或--human-readable:以可读性较高的方式来显示信息;

-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;

-i或--inodes:显示inode的信息; -k或--kilobytes:指定区块大小为1024字节;

-l或--local:仅显示本地端的文件系统;

-m或--megabytes:指定区块大小为1048576字节;

--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;

-P或--portability:使用POSIX的输出格式;

--sync:在取得磁盘使用信息前,先执行sync指令;

-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;

-T或--print-type:显示文件系统的类型;

-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;

--help:显示帮助;

--version:显示版本信息。

常用实例:

[root@localhost ~]# df -h         //查看磁盘空间

Linux必备命令(二)

十一、du命令

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法 :

du [选项] [文件]

选项:

-a或-all 显示目录中个别文件的大小。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

-k或--kilobytes 以KB(1024bytes)为单位输出。

-m或–megabytes 以MB为单位输出。

-s或--summarize 仅显示总计,只列出最后加总的值。

-h或--human-readable 以K,M,G为单位,提高信息的可读性。

-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。

-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。

--exclude=<目录或文件> 略过指定的目录或文件。

-D或--dereference-args 显示指定符号链接的源文件大小。

-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

-l或--count-links 重复计算硬件链接的文件。

实例:

[root@localhost ~]# du .             //查看当前目录大小

[root@localhost ~]# du test.txt        //查看test.txt文件大小

[root@localhost ~]# du -sh zabbix-3.2.6.tar.gz        //已k,m,g查看zabbix总和大小

给TA打赏
共{{data.count}}人
人已打赏
运维

Shell 分析 Nginx 日志文件找出恶意 IP 教程

2023-11-15 21:22:31

运维

CentOS 6与CentOS 7区别

2023-11-21 16:25:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索