command
shell1.
pwd:
查看当前所在目录。2.
cd
:用于打开一个目录。
cd
/:打开根目录。
cd
/bin:打开根目录下的bin
目录。
cd
..:返回上一级目录。
cd
../..:
返回上两级目录。
cd
usr/local/bin:
打开usr
目录下local
目录下的
bin
目录。
cd
~:
打开用户的住目录。3.
ls
:查看目录命令。
ls
-a:
显示所有文件及目录,包括隐藏文件。
ls
-l:
显示文件的详细列表,显示文件名、文件形态、权限、文件大小等信息。
ls
-r:
将文件以字母的倒序排列显示。
ls
-t:
将文件依建立的时间先后排列显示。
ls
-A:
同a
但不显示
.
目录及
..
目录。
ls
-F:
在列出的文件名称后面添加一符号。表明是文件还是目录。
ls
-R:
依次列出目录中的文件。4.
touch
:创建一个空文件。5.
mkdir
rmdir:创建和删除目录。
参数p
可以制定建立多级目录。也可以用于删除多级目录在目录是空的前提下。6.
cp
:文件复制命令。
cp
[参数]
源文件或目录
目标文件或目录
-a:
通常在拷贝目录时使用。它保留链接、文件属性、并拷贝目录下的所有内容。其作用等同于
dpR
参数组合。
-d:
拷贝时保留链接。这里所说的链接相当与windows
中的快捷方式。
-f:
覆盖以存在的目标文件而不给出提示。
-i:
与
f
相反,给出提示。
-p:
除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:
若给出的源文件是一目录文件,此时将复制该目录下的是所有子目录和文件。
-l:
不复制文件,只是生成链接。7.
mv
:文件移动和更名命令mv。
-b:
若覆盖文件,则覆盖前先备份。
-f:
如果目标文件或目录与现有的文件或目录同名,则直接覆盖已有的文件或目录。
-i:
覆盖钱先询问用户。
-S:与
-b
参数一起使用,可以指定备份文件所要附加的字尾。
-u:
在移动或文件更名时,若目标文件已存在,且其文件日期比源文件文件新,则不覆盖目标文件。
-v:
执行时显示详细信息。
-V:
与
-b
一起使用,制定备份的方法。8.
rm
:删除文件爱你与目录命令。
-d:
把删除的目录的硬链接数据删除,删除该目录。
-f:
强制删除文件或目录。
-i:
删除文件或目录之前询问用户。
-r:
递归处理,将制定目录下的所有文件及子目录全部删除。
-v:
显示命令执行过程。9.
ln
:创建链接命令。
-b:
覆盖目标文件之前的备份。
-d:
建立目标的硬链接。
-f:
强行建立文件或目标的链接。
-i:
覆盖已有文件之前先询问用户。
-n:
把符号链接的目的目标视为一般的文件。
-s:
对源文件建立符号链接,而非硬链接。
-S:
用
-b
参数备份目标文件。10.
wc
:查看文件信息命令。
-l:
显示文件的文本行数。
-w:
显示文件的字数。
-c:
显示文件中的字符数。11.
cat
:文件查看命令。
-n:
由1
开始对所有输出行进行编号。
-b:
和
-n
相似,但是对空白行不编号。
-s:
当遇到有连续两行以上的空白行,就轮换为一行。12.
head
tail:查看文件视图命令。
head
-n5
001.c:
查看文件的前5
行。
head
400b
001.c:
查看文件的前
400
字节。
head
4k
001.c:
查看文件的钱4KB
文件内容。
head
3m
001.c:
查看文件前3MB
文件内容。
tail
与之相反,从文件尾开始计算。13.
chmod
:文件权限设置命令。
文件的三级权限:
u:
所有者。
g:
群组。
o:
除了所有者和同组用户之外的用户。
权限的权限字符表示:
r:
表好似可读取。
w:
表示可写入。
x:
表示看执行。
常用的命令参数:
-c:
若文件权限已经更改,显示其更改动作。
-f:
若文件权限无法被更改,则不显示错误信息。
-v:
显示文件变更的详细资料。
-R:
对目录下的所有文件与子目录进行相同的权限设置。14.
find
:查找文件命令
find。
find
目录
文件名15.
man
:系统帮助命令。
man
[命令]
16.
info
:系统中另一个帮助文档。
man
是linux
系统的标准帮助手册,info
是自由软件的帮助手册。
内容要比
man
丰富。17.
环境变量。
查看所有:
export
查看某个:
export
$[环境变量名称]
设置变量:
[变量名]=[值]18.
在系统配置文件中定义环境变量。
环境变量的系统配置文件是
/etc/profile。19.
shell
的运算符。
shell
中的运算符可以实现变量的赋值、算数运算、测试、比较等功能。
在ubuntu
中可以用echo
$[expression]输出一个表达式的值。20.
shell
的输入和输出。
echo
$str
将结果输出到终端。
echo
$str
>file
将结果保存到文件中,如果没有文件会新建一个文件。如果已经有文件则会覆盖以前的文件。
>>
表示追见到现有的文件后面。
echo
输出的内容,可以有下面的格式控制字符。
/c:
末尾加上,表示这一行输出完毕后不换行。
/t:
输出一个跳格,相当与按下
TAB
按键。
/n:
输出一个换行。
需要注意的是,如果要输出特殊字符,必须加
-e选项,否则输出的结果中会直接输出字符。加
-n
选项可以禁止echo
输出后的换行。21.
read
命令读取信息。
如果只读入一个变量,会把键盘上输入的所有信息赋值给这个变量。按
Enter
键,结束输入。
如果输入多个变量,用空格键将输入的变量隔开。如果输入变量的个数多于需要读取的变量的个数,将会把剩余的变量赋值给最后一个变量。
在读取语句后面添加
<filename,
表示从文件中读取数据,并且赋值给变量。22.
文件重定向。
command
>
filename
把标准输出重定向到一个文件中。
command
>>
filename
把标准输出以追加的方式重定向到一个文件中。
command
1
>
filename
把标准输出重定向到一个文件中。
command
>
filename
2
>
&1
把标准输出和标准错误一起重定向到一个文件中。
command
2
>
filename
把标准输出的错误重定向到一个文件中。
command
2
>>
filename
把标准输出以追加的方式重定向到一个文件中。
command
>>
filename
2
>
&1
把标准输出和标准错误一起追加到一个文件中。
command
<
filename
>
filename2
把command
命令以filename
文件作为标准输入,以filename2
文件作为标准输出。
command
<
filename
把
command
命令以filename
文件作为标准输入。23.
引号的使用方法。
双引号
表示引用一个字符串。字符串里不能直接使用$、引号、双引号、反斜线、反引号
这些特殊字符。
反引号
用于执行引号中的系统命令,然后及那个命令的结果返回。这个返回的结果可以赋值给一个变量。
反斜线
用于对特殊字符进行转义。24.
测试语句
文件测试语句:
文件状态的测试指的是对文件的权限、有无、属性、类型等内容进行判断。与其他语言不同的是,test
命令的测试结果,返回0
表示测试成功。返回1
时表示测试失败。
数值测试:
数值测试是比较两个数值的大小或相等关系,相当与C
语言中的比较运算符。shell
程序中的数值测试有下面两种形式。
test
第一个 *** 作数
数值比较符
第二个 *** 作数
用中括号代替
test
命令。[
第一个 *** 作书
数值比较符
第二个 *** 作数
]
数值比较符号:
-eq:
两个数是否相等。
-le:
第一个数是否不大于第二个数。
-gt:
第一个数是否大于第二个数。
-ne:
两个数是否不相等。
-ge:
第一个数是否不小于第二个数。
-lt:
第一个数是否小于第二个数。
command或shell模块,那么脚本中调用的是subprocess.Popen(args,kwargs)函数,command和shell的区别就在于command模块使用shell=True,而shell模块使用shell=False,就是一个调用了shell,一个没有。官方文档中是不建议使用shell=True的,因为这可能导致shell injection安全问题,但是有些情况下用shell模块就很方便,比如我要批量删除一些文件,
ansible -i inventory all -m command -a "rm -f /etc/yum.repos.d/CentOS.repo" -U root -s -f 50 -kK
你如果执行以上命令的话,是不会删除掉那些文件的 ?
因为你的命令行中包含了通配符号,通配符必须要有在shell环境中才能被识别出,不然,它只能删除CentOS.repo这一个文件。 《linux就该这么学》
所以你需要执行以下命令才能成功
ansible -i inventory all -m shell -a "rm -f /etc/yum.repos.d/CentOS.repo" -U root -s -f 50 -kK
而这两个命令所生成的可执行脚本的区别就一行
<MODULE_ARGS = 'rm -f /etc/yum.repos.d/CentOS.repo'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)