go语言shell,go语言设计与实现 左书祺

Linux第二章-Linux常用命令

当我们关机或者重启时,都应该先执行以下 sync 指令,把内存的数据写入磁盘,防止数据丢失。

创新互联是专业的南湖网站建设公司,南湖接单;提供成都网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南湖网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

命令: cd [相对路径或绝对路径]

命令: ls [-al]

命令: mkdir [-p] 目录

-p 父目录不存在情况下先生成父目录

命令: rm [-rf] 目录

-r 递归 -f 强制

两个一起用你可以删掉世界(很暴力很血腥,危险的命令)

命令: echo [选项] [输出内容]

命令: head 文件

tail :指定行数或者动态查看

命令: touch 文件名

命令: rm -rf 文件名

vi是linux中最经典的文本编辑器,vi一共有3种工作模式,分别是正常模式,编辑模式(插入模式),命令行模式:

- 命令: vi 文件名 或 vim 文件名 都可进入vi编译器进行文件的编译

---首先输入 vi 文件名 进入的是正常模式

---正常模式--编辑模式:按 i o a 任意一个键

---正常模式--命令行模式:按 :

---编辑模式--命令行模式:按 Esc

vi编译器快捷键的使用

1.拷贝当前行 yy,拷贝当前行向下的5行 5yy,并粘贴 p;

2.删除当前行 dd,删除当前行向下的5行 5dd;

3.在文件中查找某个单词(命令行模式下)/关键字 ,回车进行查找,输入 n 查找下一个

4.设置文件的行号,取消文件的行号(命令行模式下) :set nu 和 :set nonu

5.编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模 式下执行的。

6.在一个文件中输入 "hello" ,然后又撤销这个动作,再正常模式下输入 u

文件的查看命令: cat more less tail

cat :由第一行开始显示文件内容

more :百分比显示

less :翻页查看

tail :指定行数或者动态查看

命令: chmod -R 权限设置 需要更改权限的文件夹名

grep :查找字符串

grep命令通常要和管道命令进行连用:

Linux压缩包的两种后缀格式:

- xxx.tar 打包,大小不会进行压缩

- xxx.tar.gz 打包并压缩文件大小

命令: tar

命令: du -h /目录

命令: ifconfig

命令: netstat [-anp]

命令: ping ip地址

命令: ps [-ef]

命令: kill -9 PID号

命令: service 服务名 [start | stop | restart | reload | status]

在 CentOS7.0 后 不再使用 service ,而是下面这个命令

service [start | stop | restart | reload | status] 服务名

命令: top [选项]

命令: rpm -e rpm包的名称

命令: rpm -ivh rpm包全路径名称

[图片上传失败...(image-f71252-1630371708953)]

Linux基本命令-2021-0717

[root@localhost ~]# ls -l

总用量 44

-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg

权限--引用计数 所有者 -- 所属组--- 大小-- 文件修改时间 文件名

ls [选项] [文件名或目录名]

选项:

-a :显示所有文件

--color=when:支持颜色输出

-d :显示目录信息,而不是目录下的文件

-h :人性化显示﹐按照我们习惯的显示文件大小

-i :显示文件的i节点号

-l:长格式显示

pwd 命令是查询当前所在的目录的绝对路径

选项:

-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。

-P 打印当前工作目录的物理位置。

mkdir 是创建目录的命令

选项:

-Z:设置安全上下文,当使用SELinux时有效;

-m或--mode:建立目录的同时设置目录的权限;

-p或--parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

rmdir 是删除空目录的命令

-p: 递归删除目录

touch 是 创建空文件或修改文件的时间戳

[root@localhost ~]# touch [选项] 文件名

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

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

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

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

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

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

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

--help:在线帮助;

--version:显示版本信息。

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间戳

选项:

-L:支持符号连接;

-f:显示文件系统状态而非文件状态;

-t:以简洁方式输出信息;

cat 命令用来查看文件内容

选项:

-A: 相当于-vET 选项的整合,用于列出所有隐藏符号

-E: 列出每行结尾的回车符$

-n: 显示行号

-T: 把 Tab 键用^I显示出来

-v: 列出特殊字符

more 是分屏显示文件的命令

less 是分行显示文件的命令

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

选项:

-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x数字:将TAB字符显示为指定个数的空格字符。

head 是用来显示文件开头的命令

选项:

-c --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。

-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。

-q, --quiet, --silent 不打印文件名行。

-v, --verbose 总是打印文件名行。

-z, --zero-terminated 行终止符为NUL而不是换行符。

tail 是用来显示文件末尾的命令

选项:

-c, --bytes=NUM 输出文件尾部的NUM(NUM为整数)个字节内容。

-f, --follow[={name|descript}] 显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。

-F 与 “--follow=name --retry” 功能相同。

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

--pid=进程号 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令。

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

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

-s, --sleep-interal=秒数 与“-f”选项连用,指定监视文件变化时间隔的秒数。

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

ln 是用来为文件创建链接的命令

[root@localhost ~]# ln [选项] 源文件 目标文件

选项:

-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件

-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

-d, -F, --directory 创建指向目录的硬链接(只适用于超级用户)

-f, --force 强行删除任何已存在的目标文件

-i, --interactive 覆盖既有文件之前先询问用户

-L, --logical 取消引用作为软链接的目标

-n, --no-dereference 把软链接的目的目录视为一般文件

-P, --physical 直接将硬链接到软链接

-r, --relative 创建相对于链接位置的软链接

-s, --symbolic 对源文件建立软链接

硬链接特征:

源文件和硬链接文件拥有相同的 Inode 和 Block

 修改任意一个文件,另一个都改变

 删除任意一个文件,另一个都能使用

 硬链接标记不清,很难确认硬链接文件位置,不建议使用

 硬链接不能链接目录

 硬链接不能跨分区

软链接特征:

 软链接和源文件拥有不同的 Inode 和 Block

 两个文件修改任意一个,另一个都改变

 删除软链接,源文件不受影响;删除源文件,软链接不能使用

 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变

 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文

件权限

 软链接可以链接目录

 软链接可以跨分区

 软链接特征明显,建议使用软连接

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录

[root@localhost ~]# rm [选项] 文件或目录

选项:

d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r:递归处理,将指定目录下的所有文件与子目录一并处理;

--preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

cp 是文件或目录用于复制的命令

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

-a:此参数的效果和同时指定"-dpR"参数相同;

-d:当复制软链接时,把目标文件或目录也建立为软链接,并指向与源文件或目录连接的原始文件或目录;

-f:强行复制文件或目录,不论目标文件或目录是否已存在;

-i:覆盖既有文件之前先询问用户;

-l:对源文件建立硬连接,而非复制文件;

-p:保留源文件或目录的属性;

-r:递归处理,将指定目录下的所有文件与子目录一并处理;

-s:对源文件建立软链接,而非复制文件;

-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;

-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

-b:覆盖已存在的文件目标前将目标文件备份;

-v:详细显示命令执行的操作。

mv 是用来对文件或目录重新命名,或者将文件移动至其他目录

[root@localhost ~]# mv [选项] 源文件 目标文件

选项:

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

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

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

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

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

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

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

[root@localhost ~]# ls -l install.log

-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log

第一列的权限位如果不计算最后的“.”,则共有 10 位。

第 2~4 位代表文件所有者的权限。

chmod 用来变更文件或目录的权限

[root@localhost ~]# chmod [选项] 权限模式 文件名

选项:

-c, --changes:当文件的权限更改时输出操作信息。

--no-preserve-root:不将'/'特殊化处理,默认选项。

--preserve-root:不能在根目录下递归操作。

-f, --silent, --quiet:抑制多数错误消息的输出。

-v, --verbose:无论文件是否更改了权限,一律输出操作信息。

--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限。

-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。

用户身份

首先,读、写、执行权限对文件和目录的作用是不同的。

目录的可用权限其实只有以下几个。

chown 是修改文件和目录的所有者和所属组的命令

[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录

选项:

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或--quite或——silent:不显示错误信息;

-h或--no-dereference:只对软链接的文件作修改,而不更改其他任何相关文件;

-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-v或——version:显示指令执行过程;

--reference=参考文件或目录:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;

普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行

普通用户可以修改所有者是自己的文件的权限

chgrp 是修改文件和目录的所属组的命令

[root@phato ~]# chgrp [选项] 所属组 文件或目录

-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或--quiet或——silent:不显示错误信息;

-h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;

-H如果命令行参数是一个通到目录的软链接,则遍历软链接

-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;

-L:遍历每一个遇到的通到目录的软链接

-P:不遍历任何符号链接(默认)

-v或——verbose:显示指令执行过程;

--reference=参考文件或目录:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

umask 是显示或设置创建文件的权限掩码。我们需要先了解一下新建文件和目录的默认最大权限。

我们在这里按照权限字母来讲解 umask 权限的计算方法。我们就按照默认的 umask 值是 022来分别计算一下新建文件和目录的默认权限吧。

linux常用命令

1.列出文件清单命令:ls

ls命令能够列出当前目录下的所有内容。ls 命令的执行方式为:

# ls [-选项] [文件名或者目录名]

进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。

在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:

# ls /etc

如果想要列出当前目录下所有文件,则可以使用下列命令:

# ls -a

2、cat命令

功能:在标准输出上显示文件。

语法:cat [-vTEuAte] 文件

例子: cat example.txt

cat -A exam2.txt

cat file1 file2 file2

3、more命令

功能:在终端屏幕按屏显示文本文件。

语法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

4、less命令

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既

可以向前又可以向后翻阅文件。

5、head命令

功能:显示指定文件的前若干行。缺省设置为显示10行

语法:head [-n] 文件

例子: head example.c

head -3 example.c

6、tail命令

功能:显示指定文件的末尾若干行。缺省设置为显示10行

语法:tail [+ / - num ] [参数] 文件

+num 从第num行以后开始显示。- num 从距文件尾num行处开始显示。

例子: tail example.c

tail -4 example.c

7、grep、fgrep和egrep命令

功能:

这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

语法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [选项] [查找模式] [文件名1,文件名2,……]

fgrep [选项] [查找模式] [文件名1,文件名2,……]

例子: grep "text file" example

grep data *

grep goto *.c

Linux常用基本命令大全介绍

学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!

Linux系统常用的基本命令入门篇一、基础命令

1.Linu x的进 入与退出系统

进入Linux系统:

必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:

1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。

2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。

一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。

用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。

当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:

[root@loclhost/root] #

这时就可以对系统做各种操作了。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo;。

2.修改口令

为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。

3.虚拟控制台

Linux是一个真正的多用户 操作系统 ,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。

退出系统

不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。

4.查看命令帮助信息

man命令

man命令用于查询命令和程序的使用 方法 和参数。

例如:

man ls

将显示ls命令的基本格式和使用方法

Linux系统常用的基本命令入门篇二、关机重启命令

首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到

reboot 一般不跟参数使用,输入指令即可重启

shutdown 一般需要跟参数,例:

shutdown -r 延时多少分钟重启,一般使用now

shutdown -r now 立即重启

shutdown -f 强制重启

跟windows一样,linux也存在注销功能

exit

1)halt

halt 可不接参数

halt -f 强制关机

2)poweroff

poweroff 可不接参数使用

poweroff -f 强制关机

3)init 0

4)shutdown 不可单独使用

shutdown -h 分钟数 延时多久关机

shutdown -h now 立即关机

Linux系统常用的基本命令入门篇三、vi编辑

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。

默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入。常用内置命令如下:

1 Ctrl+u:向文件首翻半屏;

2 Ctrl+d:向文件尾翻半屏;

3 Ctrl+f:向文件尾翻一屏;

4 Ctrl+b:向文件首翻一屏;

5 Esc:从编辑模式切换到命令模式;

6 ZZ:命令模式下保存当前文件所做的修改后退出vi;

7 :行号:光标跳转到指定行的行首;

8 :$:光标跳转到最后一行的行首;

9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;

10 D:删除从当前光标到光标所在行尾的全部字符;

11 dd:删除光标行正行内容;

12 ndd:删除当前行及其后n-1行;

13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;

14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;

15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;

16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;

18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,ldquo;s/rdquo;表示进行替换操作;

19 a:在当前字符后添加文本;

20 A:在行末添加文本;

21 i:在当前字符前插入文本;

22 I:在行首插入文本;

23 o:在当前行后面插入一空行;

24 O:在当前行前面插入一空行;

25 :wq:在命令模式下,执行存盘退出操作;

26 :w:在命令模式下,执行存盘操作;

27 :w!:在命令模式下,执行强制存盘操作;

28 :q:在命令模式下,执行退出vi操作;

29 :q!:在命令模式下,执行强制退出vi操作;

30 :e文件名:在命令模式下,打开并编辑指定名称的文件;

31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;

32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;

33 :set nu:在命令模式下,用于在最左端显示行号;

34 :set nonu:在命令模式下,用于在最左端不显示行号;

35 :1,3y 复制第一行到第三行

36 :1,3d 删除第一行到第三行

37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串

38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符

39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

Linux常用命令一、查询相关

find

按规则查找某个文件或文件夹,包括子目录

find . -name '_sh' -- 以.sh结尾的文件

find . -name '_hannel_ -- 包含channel字符的文件

find . -name 'build_ -- 以build开头的文件

find . -name 'abc??' -- abc后面有两个字符的文件

grep

查找内容包含指定的范本样式的文件,Global Regular Expression Print

grep -n pattern files -- 规则 -n表示显示行号

grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方

grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号

ps -e | grep java -- 所有java进程

ps -e | grep -i qq --所有qq进程,不区分大小写

find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方

ls | grep 'channel' -- 包含channel关键字的文件

which

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

which zipwhich grep

Linux常用命令二、查看命令

tail

tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

tail -f test.log,循环查看文件内容,Ctrl+c来终止

tail -n 5 test.log,显示文件最后5行内容

tail -n +5 test.log,从第5行开始显示文件

more

more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

more +3 test.log,显示文件中从第3行起的内容

more -5 test.log,设定每屏显示行数

ls -l | more -5,每页显示5个文件信息

more +/day3 test.log,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出

less

less [options] [file...]

与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

less test.log,查看文件

ps -ef | less,查看进程信息并通过less分页显示

history | less,查看命令历史使用记录并通过less分页显示

less test1.log test2.log,浏览多个文件,n和p切换文件

watch

watch [options] command

每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变

watch -n 60 date,执行date命令每分钟一次,输入^C 退出

watch -d ls -l,查看目录变化

watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件

watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化

watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载

watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化

watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化

Linux常用命令三、文件相关

vi

vi file

按i键,进入编辑模式

按esc键,进入命令模式

:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:w! 强制保存,不推出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

q: 不保存文件,退出vi

:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

chmod

change mode,变更文件或目录的读、写、运行权限

chmod [-cfvR] [--help] [--version] mode file...

mode:权限设定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1

chmod 777 file,等同于 chmod a=rwx file

chmod ug=rwx,o=x file,等同于 chmod 771 file

chmod 4755 filename,可使此程序具有root的权限

ls -l 可以查看列出当前用户的文件权限

zip

zip -r filename.zip filesdir

zip -r test.zip ./_把当前所有文件压缩到test.zip

zip -r test.zip test,把test文件所有文件及目录,要是到test.zip

zip -d test.zip test.txt,删除压缩文件中test.txt文件

zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件

zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开

unzip

unzip zip-file,解压到当前目录

unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录

unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件

unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件

unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件

unzip -l zip-file,仅查看压缩文件内所包含的文件

tar

tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz,把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在 显示器 上

tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录

touch

linux基本命令

[root@localhost ~]#

用户 @ 主机名 当前目录

总结Linux命令输入规律:

如何输入命令:

命令 [选项]([参数])[选项的值]([参数的值])空格分割

常见选项(参数):-h --help ; 特点:选项前有一个 -字母 或 --加单词

例:find /home -name mk

命令后:左边是源 右边是目标

例:cp a.txt a.txt.bak

作用:查看目录下的文档

语法:ls 目录

-l 显示详细信息

-a 显示隐藏文件

. 当时目录

.. 上级目录

-d 查看目录

-h 增强可读性

作用:查看当前所在的路径

语法:pwd

例:[root@iZ9403omxhxZ html]# pwd

/var/www/html

作用:切换目录

语法:cd 目录名

cd 回到用户的家目录

cd ~ 回到-用户的家目录

cd - 回到上级切换时目录

切换到/etc下

[root@localhost html]# cd /etc/

切换到/etc/sysconfig/

[root@localhost sysconfig]# cd /etc/sysconfig/

-h --help

man find

shutdow、init 、reboot

作用:关机,重启,定时关机

-r #重启

-h #关机

-h +2 # 2分钟后关机

-c

shutdown -h 22:00

作用:切换系统级别

语法:init 0~6

init 0命令用于立即将系统运行级别切换为0,即关机;

init 6命令用于将系统运行级别切换为6,即重新启动。

0是关机

1是单用户

2是多用户,不联网

3是多用户

4是不使用的

5是xwindows,也就是有界面的

6是重启

自己去查下reboot怎么使用吧,这里就不过多介绍了reboot --help

[root@localhost~]# runlevel

N 3

语法:

ln(选项)(参数)

它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。

在此我们只介绍下软链接。

我们为js文件夹建一个软链接

我们为/var/www/html/forestry/js/ 在/root/目录下建立一个名叫js2的软链接。

图中我们可以看到js2的连接目录是/var/www/html/forestry/js/

关于LINUX最基本的一些命令?

Linux运维人员必会的120个命令

跟老男孩学Linux运维:核心系统命令实战

前言

第1章 Linux命令行简介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令帮助 / 4

1.3Linux shutdown reboot halt / 9

关机:

shutdown -h now

halt

init 0

第2章 文件和目录操作命令 / 13

2.1pwd:显示当前所在的位置 / 13

2.2cd:切换目录 / 16

2.3tree:以树形结构显示目录下的内容 / 18

2.4mkdir:创建目录 / 22

2.5touch:创建空文件或改变文件的时间戳属性 / 27

2.6ls:显示目录下的内容及相关属性信息 / 30

2.7cp:复制文件或目录 / 39

2.8mv:移动或重命名文件 / 42

2.9rm:删除文件或目录 / 45

2.10rmdir:删除空目录 / 48

2.11ln:硬链接与软链接 / 49

2.12readlink:查看符号链接文件的内容 / 54

2.13find:查找目录下的文件 / 55

2.14xargs:将标准输入转换成命令行参数 / 68

2.15rename:重命名文件 / 71

2.16basename:显示文件名或目录名 / 72

2.17dirname:显示文件或目录路径 / 72

2.18chattr:改变文件的扩展属性 / 73

2.19lsattr:查看文件扩展属性 / 75

2.20file:显示文件的类型 / 76

2.21md5sum:计算和校验文件的MD5值 / 77

2.22chown:改变文件或目录的用户和用户组 / 80

2.23chmod:改变文件或目录权限 / 81

2.24chgrp:更改文件用户组 / 85

2.25umask:显示或设置权限掩码 / 86

2.26老男孩从新手成为技术大牛的心法 / 90

第3章 文件过滤及内容编辑处理命令 / 91

3.1cat:合并文件或查看文件内容 / 91

3.2tac:反向显示文件内容 / 103

3.3more:分页显示文件内容 / 104

3.4less:分页显示文件内容 / 107

3.5head:显示文件内容头部 / 109

3.6tail:显示文件内容尾部 / 111

3.7tailf:跟踪日志文件 / 114

3.8cut:从文本中提取一段文字并输出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按两个文件的相同字段合并 / 127

3.13uniq:去除重复行 / 129

3.14wc:统计文件的行数、单词数或字节数 / 131

3.15iconv:转换文件的编码格式 / 133

3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134

3.17diff:比较两个文件的不同 / 135

3.18vimdiff:可视化比较工具 / 138

3.19rev:反向输出文件内容 / 139

3.20tr:替换或删除字符 / 140

3.21od:按不同进制显示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:纯文本编辑器 / 147

3.24老男孩逆袭思想:做Linux运维的多个好处 / 152

第4章 文本处理三剑客 / 153

4.1grep:文本过滤工具 / 153

4.2sed:字符流编辑器 / 159

4.3awk基础入门 / 165

第5章 Linux信息显示与搜索文件命令 / 176

5.1uname:显示系统信息 / 176

5.2hostname:显示或设置系统的主机名 / 178

5.3dmesg:系统启动异常诊断 / 179

5.4stat:显示文件或文件系统状态 / 181

5.5du:统计磁盘空间使用情况 / 183

5.6date:显示与设置系统时间 / 186

5.7echo:显示一行文本 / 190

5.8watch:监视命令执行情况 / 193

5.9which:显示命令的全路径 / 195

5.10whereis:显示命令及其相关文件全路径 / 196

5.11locate:快速定位文件路径 / 197

5.12updatedb:更新mlocate数据库 / 199

5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200

第6章 文件备份与压缩命令 / 201

6.1tar:打包备份 / 201

6.2gzip:压缩或解压文件 / 208

6.3zip:打包和压缩文件 / 211

6.4unzip:解压zip文件 / 212

6.5scp:远程文件复制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆袭思想:新手如何高效地提问 / 220

第7章 Linux用户管理及用户信息查询命令 / 222

7.1 useradd:创建用户 / 222

7.2usermod:修改用户信息 / 227

7.3userdel:删除用户 / 229

7.4groupadd:创建新的用户组 / 230

7.5groupdel:删除用户组 / 231

7.6passwd:修改用户密码 / 232

7.7chage:修改用户密码有效期 / 237

7.8chpasswd:批量更新用户密码 / 238

7.9su:切换用户 / 240

7.10visudo:编辑sudoers文件 / 242

7.11sudo:以另一个用户身份执行命令 / 244

7.12id:显示用户与用户组的信息 / 248

7.13w:显示已登录用户信息 / 249

7.14who:显示已登录用户信息 / 250

7.15users:显示已登录用户 / 252

7.16whoami:显示当前登录的用户名 / 253

7.17last:显示用户登录列表 / 253

7.18lastb:显示用户登录失败的记录 / 254

7.19lastlog:显示所有用户的最近登录记录 / 255

第8章 Linux磁盘与文件系统管理命令 / 257

8.1fdisk:磁盘分区工具 / 257

8.2partprobe:更新内核的硬盘分区表信息 / 265

8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266

8.4parted:磁盘分区工具 / 268

8.5mkfs:创建Linux文件系统 / 272

8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274

8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275

8.8fsck:检查并修复Linux文件系统 / 278

8.9dd:转换或复制文件 / 281

8.10mount:挂载文件系统 / 284

8.11umount:卸载文件系统 / 288

8.12df:报告文件系统磁盘空间的使用情况 / 289

8.13mkswap:创建交换分区 / 293

8.14swapon:激活交换分区 / 294

8.15swapoff:关闭交换分区 / 295

8.16sync:刷新文件系统缓冲区 / 296

第9章 Linux进程管理命令 / 298

9.1ps:查看进程 / 298

9.2pstree:显示进程状态树 / 305

9.3pgrep:查找匹配条件的进程 / 306

9.4kill:终止进程 / 307

9.5killall:通过进程名终止进程 / 310

9.6pkill:通过进程名终止进程 / 311

9.7top:实时显示系统中各个进程的资源占用状况 / 313

9.8nice:调整程序运行时的优先级 / 320

9.9renice:调整运行中的进程的优先级 / 323

9.10nohup:用户退出系统进程继续工作 / 324

9.11strace:跟踪进程的系统调用 / 325

9.12ltrace:跟踪进程调用库函数 / 332

9.13runlevel:输出当前运行级别 / 334

9.14init:初始化Linux进程 / 335

9.15service:管理系统服务 / 335

第10章 Linux网络管理命令 / 338

10.1ifconfig:配置或显示网络接口信息 / 338

10.2ifup:激活网络接口 / 343

ifup eth0

10.3ifdown:禁用网络接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。

10.4route:显示或管理路由表 / 344

10.5arp:管理系统的arp缓存 / 350

10.6ip:网络配置工具 / 351

10.7netstat:查看网络状态 / 358

10.8ss:查看网络状态 / 362

10.9ping:测试主机之间网络的连通性 / 363

10.10traceroute:追踪数据传输路由状况 / 366

10.11arping:发送arp请求 / 367

10.12telnet:远程登录主机 / 369

10.13nc:多功能网络工具 / 370

10.14ssh:安全地远程登录主机 / 373

10.15wget:命令行下载工具 / 376

10.16mailq:显示邮件传输队列 / 379

10.17mail:发送和接收邮件 / 381

10.18nslookup:域名查询工具 / 386

10.19dig:域名查询工具 / 389

10.20host:域名查询工具 / 393

10.21nmap:网络探测工具和安全/端口扫描器 / 394

10.22tcpdump:监听网络流量 / 398

第11章 Linux系统管理命令 / 407

11.1lsof:查看进程打开的文件 / 407

11.2uptime:显示系统的运行时间及负载 / 411

11.3free:查看系统内存信息 / 411

11.4iftop:动态显示网络接口流量信息 / 413

11.5vmstat:虚拟内存统计 / 415

11.6mpstat:CPU信息统计 / 419

11.7iostat:I/O信息统计 / 420

11.8iotop:动态显示磁盘I/O统计信息 / 423

11.9sar:收集系统信息 / 425

11.10chkconfig:管理开机服务 / 430

11.11ntsysv:管理开机服务 / 433

11.12 setup:系统管理工具 / 434

11.13ethtool:查询网卡参数 / 436

11.14mii-tool:管理网络接口的状态 / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自动化RPM包管理工具 / 446

top命令

第12章 Linux系统常用内置命令 / 450

12.1Linux内置命令概述 / 450

12.2Linux内置命令简介 / 450

12.3Linux常用内置命令实例 / 452


本文名称:go语言shell,go语言设计与实现 左书祺
网站网址:http://hbruida.cn/article/heeosi.html