网站首页 > 文章中心 > 其它

修改linux命令行格式

作者:小编 更新时间:2023-10-04 14:32:27 浏览量:428人看过

Linux启动时显示Grub命令行及修改

①.、在启动linux系统时,如果/boot/grub/grub.cfg文件损坏或者不存在时,启动linux时,就会有Grub命令行的提示.

如下操作,将系统自带的grub.cfg文件改名.

修改linux命令行格式-图1

有的grub使用

linux

/boot/vmlinuz-xx

有的grub使用kernel

/boot/vmlinuz-xx,可自己输入一个首字母,按TAB键查看,演示的grub支持的是linux命令

-

sudo

update-grub

修改linux命令行格式-图2

-sudo

grub-install

/dev/sda

输入这两个命令后,新的grub.cfg就生成了,跟之前文件的一样(前提是没有对文件做任何更改).

Linux命令的一般格式

COMMAND [OPTIONS...] [ARGUMENTS...]

命令 选项 参数

有一些长选项与短选项是同样的功能,例如用date命令显示格林威治时间,既可用-u,也可以用-utc

另外,两个短选项可以放在一起写,而且不分前后:ls -al ; ls -la

关于linux命令ls --help,如何修改命令,自定义命令参数和格式.

①列出详细文件 #ls -al //这个最常用,但是往往又不完全符合要求,

如果文件过多一屏看不完,怎么办?而且,对于想找到很多文件中的某个文件的名字.

? ? ? #ls -l|less?//能用pgup,pgdw 翻页,但不能在当前位置退出

-a 列出目录下的所有文件,包括以 . 开头的隐含文件.//常用? ?

?-m 横向输出文件名,并以","作分格符.

-c 输出文件的 i 节点的修改时间,并以此排序.

?-R 列出所有子目录下的文件.

?-l 列出文件的详细信息.

?-s 在每个文件名后输出该文件的大小.

?-k 以 k 字节的形式表示文件的大小.

?-i 输出文件的 i 节点的索引信息.

?-t 以时间排序.

?-r 对目录反向排序

-f -U 对输出的文件不排序.

?-X 以文件的扩展名(最后一个 . 后的字符)排序.

-S 以文件大小排序.

-u 以文件上次被访问的时间排序.

-n 用数字的 UID,GID 代替名称.

-o 显示文件的除组信息外的详细信息.

-p -F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通

接字(sockets).

-q 用?代替不可输出的字符.

-x 按列输出,横向排序.

暂时无用选项:

-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出.//不常用

-d 将目录象文件一样显示,而不是显示其下的文件.

-e 输出时间的全部信息,而不是输出简略信息. //没用

-g 无用.

-A 显示除 "."和".."外的所有文件.

-B 不输出以 "~"结尾的备份文件.

-C 按列输出,纵向排序.

-G 输出文件的组的信息.

-L 列出链接文件名而不是链接到的文件.

-N 不限制文件长度.

-Q 把输出的文件名用双引号括起来.

-1 一行只输出一个文件.

--color=no 不显示彩色文件名

--help 在标准输出上显示帮助信息.

--version 在标准输出上输出版本信息并退出.

linux命令的格式化命令是什么?

如果一个名称用%括起来,那么就是用的它的赋值,而不是本身的字母

比如

echo time echo %time%

----------------------------------------------------------------------

FOR这条命令基本上都被用来处理文本,我们这次除了要说他处理文本的作用外还要讲他的其他一些好用的功能!

看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)

FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令

%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写哦~

FOR会把每个读取到的值给他!

IN:命令的格式,照写就是了!

(相关文件或命令) :FOR要把什么东西读取然后赋值给变量,不懂的话看下面的例子

do:命令的格式,照写就是了!

执行的命令:对每个变量的值要执行什么操作就写在这.

看不懂我的这些说明,可以在CMD输入for /?看系统提供的帮助!我这里也给出来吧,大家对照

FOR %%variable IN (set) DO command [command-parameters]

%%variable 指定一个单一字母可替换的参数.

(set) 指定一个或一组文件.可以使用通配符.

command 指定对每个文件执行的命令.

command-parameters

为特定命令指定参数或命令行开关.

现在开始讲每个参数的意思

/d

仅为目录

如果 Set (也就是我上面写的 "相关文件或命令") 包含通配符(* 和 ?),将对与 Set 相匹配的每个目录(而不是指定目录中的文件组)执行指定的 Command.

这个参数其实我也没弄太懂...有错误希望各位纠正!

系统帮助的格式:FOR /D %%variable IN (set) DO command

他主要用于目录搜索,不会搜索文件,看这样的例子

@echo off

for /d %%i in (*) do @echo %%i

pause

把他保存放在C盘根目录执行,就会把C盘目录下的全部目录名字打印出来,而文件名字一个也不显示!

for /d %%i in (?) do @echo %%i

这里解释下*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符

知道作用了,给大家个思考题目!

for /d %%i in (window?) do @echo %%i

保存到C盘下执行,会显示什么呢?自己看吧!

/D参数只能显示当前目录下的目录名字,这个大家要注意!

/R

递归

进入根目录树 [Drive:]Path,在树的每个目录中执行 for 语句.如果在 /R 后没有指定目录,则认为是当前目录.如果 Set 只是一个句点 (.),则只枚举目录树.

系统帮助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command

上面我们知道,/D只能显示当前路径下的目录名字,那么现在这个/R也是和目录有关,他能干嘛呢?放心他比/D强大多了!

他可以把当前或者你指定路径下的文件名字全部读取,注意是文件名字,有什么用看例子!

for /r c:\ %%i in (*.exe) do @echo %%i

咋们把这个BAT保存到D盘随便哪里然后执行,我会就会看到,他把C盘根目录,和每个目录的子目录下面全部的EXE文件都列出来了!!!!

再来一个

for /r %%i in (*.exe) do @echo %%i

参数不一样了吧!这个命令前面没加那个C:\也就是搜索路径,这样他就会以当前目录为搜索路径,比如你这个BAT你把他防灾d:\test目录下执行,那么他就会把D:\test目录和他下面的子目录的全部EXE文件列出来!!!

这个参数大家因该理解了吧!还是满好玩的命令!

/L

迭代数值范围

系统帮助的格式:for /L %% Variable in (Start#,Step#,End#) do Command

看着这说明有点晕吧!咋们看例子就不晕了!

大会晕,就打印个数字有P用...好的满足大家,看这个例子

看完这个被我赋予破坏性质的参数后,我们来看最后一个参数

/f

\迭代及文件解析

使用文件解析来处理命令输出、字符串及文件内容.使用迭代变量定义要检查的内容或字符串,并使用各种 ParsingKeywords 选项进一步修改解析方式.使用 ParsingKeywords 令牌选项指定哪些令牌应该作为迭代变量传递.请注意:在没有使用令牌选项时,/F 将只检查第一个令牌.

文件解析过程包括读取输出、字符串或文件内容,将其分成独立的文本行以及再将每行解析成零个或更多个令牌.然后通过设置为令牌的迭代变量值,调用 for 循环.默认情况下,/F 传递每个文件每一行的第一个空白分隔符号.跳过空行.

系统帮助的格式:

for /F "ParsingKeywords" %% Variable in (FileNameSet) do Command

有没有发现这个参数说明比上面几个都多...没办法,人们用FOR命令主要也就是用/f参数,FOR的主场啊!大家得好好看!

先来解释下那个多出来的"ParsingKeywords"

eol=c - 指一个行注释字符的结尾(就一个)

skip=n - 指在文件开始时忽略的行数.

delims=xxx - 指分隔符集.这个替换了空格和跳格键的

默认分隔符集.

tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代

的 for 本身.这会导致额外变量名称的分配.m-n

格式为一个范围.通过 nth 符号指定 mth.如果

符号字符串中的最后一个字符星号,

那么额外的变量将在最后一个符号解析之后

分配并接受行的保留文本.

usebackq - 指定新语法已在下类情况中使用:

在作为命令执行一个后引号的字符串并且一个单

引号字符为文字字符串命令并允许在 filenameset

中使用双引号扩起文件名称.

先别晕了!我这就举个例子让粉丝们变的更强来理解这些参数!

usebackq这个参数不用理解了,系统默认会给我们加上!

为了能使用这个例子,我们先新建一个文本文件,在里面打上这些内容保存为test.txt:

;郁闷啊!

您好! 欢迎来到, 非常批处理

我们的网站 bbs.verybat.org

完毕!

FOR /F "eol=; tokens=1 delims= " %%i in (test.txt) do @echo %%i

我们把这个BAT保存到和你的test.txt相同的目录下面然后执行

我们会看到屏幕上会显示

您好!

我们的网站

为什么会这样?我来解释

这个命令会读取在当前目录下名为test.txt文件中的内容,将每一行的内容赋值给变量%%i,忽略掉以;号开头的行,并且以空格做为分隔符号,打印每行以空格做分隔符号的第一列

结果就是这样了!!

如果改成

当然我们想要把全部文件内容直接打印出来就可以这样

FOR /F "delims=" %%i in (test.txt) do @echo %%i

另外/F参数还可以以输出命令的结果看这个例子

FOR /F "delims=" %%i in ('net user') do @echo %%i

这样你本机全部帐号名字就出来了把扩号内的内容用两个单引号引起来就表示那个当命令执行,FOR会返回命令的每行结果,加那个"delims=" 是为了让我空格的行能整行显示出来,不加就只显示空格左边一列!

基本上讲完了FOR的基本用法了...如果你看过FOR的系统帮助,你会发现他下面还有一些特定义的变量,这些我先不讲.大家因该都累了吧!你不累我累啊....

怎么改变linux命令行$前面的文字

$之前是linux系统的主机名.

查看主机名命令:

# uname -n

csdba

#hostname

①.、通过hostname命令.

命令格式:hostname newhostname

此命令的作用是暂时的修改linux的主机名,存活时间linux当前的运行时间,即在重启前的运行时间内.一般修改以后就生效,但是不能永久修改.

--------------------------------------------------------

# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=localhost.localdomain

通过修改此文件的内容,它能够实现永久修改linux的主机名,不会立即生效,即有可能不在当前运行时间生效,即在从下次重启后才开始生效,至少是不在当前session生效,需要用户退出以后才生效.通过修改此配置文件,再配合hostname命令,可实现立即永久修改linux的主机名.

以上就是土嘎嘎小编为大家整理的修改linux命令行格式相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章