Linux 基本指令的操作和示例说明(五节)

指令规则:命令 【参数选项】【文件或路径】
ls  -ld   (参数  l   和  d)  多参数可以直接连起来操作    前面 加  “ - ”
操作查看目录指令:
mkdir   创建目录
全名称:make directorys   ----    :mkdir   (/data)是创建的目录;或者 cd  /; mkdir  data
第一个指令 是 直接创建 目录 在根  " / "下 :  mkdir  /data  ;
第二个是 进入根" / "下直接创建   :cd /; mkdir data
例子: mkdir  /myfile    或者     cd  /; mkdir  myfile    
ls   列表  
ll  :查看该目录下的文件总个数    
例子:   ll 
参数  l   (long)      长格式       
参数 d (directorys) 查看目录
例子: ls  -l    \    ls  -d   \    ls -ld()   ls  /data (进入目录下查看)
cd   改变目录路径 
全名称 :change directory 
相当路径:没有从根 " / " 开始    cd   data
绝对路径:从根 " / "  开始      cd  /etc
例子:  cd  /etc ;  cd  data  
pwd  打印工作目录(显示当前所在路径)
全名称  :print work  directory 
例子:  pwd     输出结果:/directory   / (那个文件)
操作文件指令:
touch    创建文件及更新时间戳
若文件不存在   touch  file.txt  
若文件存在  更新时间戳(文件的时间属性)  ;
例子: touch   /myfile/file.txt 
vi   编辑文件      
vi  file.txt     
vi  后跟 操作的文件  ; 回车进入待编辑状态
按 " a "或 " i  " 字母 进入编辑状态  ; 编辑好之后
按 键盘   Esc  回到  待编辑状态;
输入  " :wq "  保存和退出 编辑  回到  命令行模式;
不想保存: 输入 :q     
强制退出 输入   :q!   
解释   wq  :  w(write) 、q (Quit) ;
vim  复杂编辑器   
功能复杂,高亮,自动缩进,写脚本(shell  / python 脚本用)
vim  file.txt
按 " a "或 " i  " 字母 进入编辑状态  ; 编辑好之后
按 键盘   Esc  回到  待编辑状态;
输入  " :w "  保存后再按":q"退出 编辑  回到  命令行模式;
echo  覆盖或追加内容  配合  " 重定向 >     "  ,  " 追加   >>"
echo    ' I am study Linux now; ' >myfile.txt
解释:echo 后面跟  文件内容    " > "  代表重定向到    那个文件  或者其他
" > " 后的文件若存在 会 先清空 该文件的内容   后  写入 " > " 前面的 内容 ;
此 "  >  " 指令  操作  危险   ,在操作前  请先备份 ,在操作;
若想追加  则用   "  >>   "
例子: echo 'I drop in love river with you; '>>myfile.txt
cat   单行和多行文本追加
cat  >myfile.txt 回车 后编辑输入  I love you  in my life;在按  Ctrl  + C   或   D 结束编辑;
[root@root myfile]# cat >>myfile.txt<<my     : (多行追加实例:)
> i love you in mylife;
> do you want to mirry with me?
> my(my  可以换成任意,但必须顶格写)
[root@root myfile]# cat myfile.txt   (实例显示的结果:)
I studying Linux now;
i love you in mylife;
do you want to mirry with me?
特殊符号:   
> 或 (0\1\2)> 输出重定向:把前面的内容输入到后面,会清除原有的文件内容;(有 1 没有都一样)
例子 :>myfile.txt      (清空原有内容)    echo ' i love you ' >myfile.txt
>> 或  (0\1\2)>>     追加输出重定向:把前面的内容追加到后面,不会清除原有文件内容;
例子:echo 'I drop in love river with you; '>>myfile.txt
0< 或 <     输入重定向  : 把文件或文本内容   输入给  前面的命令;
例子:
[root@root myfile]# echo ' 1 2 3 4 '>myfile.txt
[root@root myfile]# cat myfile.txt
 1 2 3 4 
[root@root myfile]# xargs -n 2 <myfile.txt  (xargs -n 2  理解为:2个一个单位分组)
1 2
3 4
0<< 或 <<   输入追加重定向
[root@root myfile]# cat >>myfile.txt<<my     : (多行追加实例:)
> i love you in mylife;
> do you want to mirry with me?
> my
特殊符号 < 、< <、>、>> 的说明:
箭头的指向代表数据的流向
数字的说明:
标准输入(stdin):        代码为0 ,使用 0< 或 0<< ,数据(输入的数据)流向从右到左
例子: cat  < myfile.txt
标准正常输出(stdout):代码为1 ,使用 1> 或 1>> ,数据(正确的数据)流向从左到右
例子: echo  oldbook >myfile.txt     echo  oldbooks >> myfile.txt
标准错误输出( stderr ):   代码为2 ,使用 2> 或 2>> ,数据(错误的数据)流向从左到右  
echo oldbook > myfile.text  2>b.txt     意思是:正确的数据输出到 myfile.txt,错误的输出到b.txt
cho odkbb > a.txt 2>'&'     意思是: 正确或者错误都输出到 a.txt
cho  oooddd  &>a.txt        意思是: 正确或者错误都输出到 a.txt
echo  shuikm  &>>a.txt      意思是:正确或者错误输出追加到 a.txt
xargs -n  number <wenjian   分组
echo 1 2 3 4 5 6 7 8 >a.txt
例子:xargs  -n   3 <a.txt
cp  file  /temp  把某个文件或目录拷贝到 某个地方
例子:  cp  a.txt  /temp/      相对路径拷贝
[root@root myfile]# cp /myfile/a.txt  /my
cp: overwrite `/my/a.txt'? y
绝对路劲拷贝      若有文件输入 " y " 覆盖;输入" n " 不覆盖
若拷贝  目录  需要 加参数  " -r   递归拷贝,用于复制目录 "
" -a  相对于 -p: 保持属性 ;-d:链接文件   -r  "
例子:   cp  -r /myfile  /temp
rm   remove    
rm    -f(force)强制   -r(recuresive) 递归删除目录   /  mydirectory
mv  移动文件和目录
mv  file.txt  /temp    原位置文件就没有了
find  查找   -type f (什么类型)  -name (叫什么名字)  " file.txt"   -exec(做什么动作)
find  /myfile   -type f  -name  ' myfile.txt '    -exec  rm {} \;
上面例子是:找到/myfile 目录下file类型的myfile.txt 文件 ' {} 内容 '删除操作
find  /myfile   -type f  -name  "*.txt "  | xargs rm -f 
把查找的内容  放到一行上  进行删除

按照一个系统的流程练习总结:

[root@root ~]# cd / 进入根目录
[root@root /]# ls 跟列表清单
---a.txt boot dev home lost+found mnt proc sbin srv tmp var
---bin data etc lib media opt root selinux sys usr
[root@root /]# mkdir /my 创建my目录
[root@root /]# ls 查看目录里有没有my
---a.txt data home media opt sbin sys var
---bin dev lib mnt proc selinux tmp
---boot etc lost+found my root srv
[root@root /]# touch /my/a.txt 在目录里创建文件a.txt
[root@root /]# ls /my 查看目录里有没有a.txt
---a.txt
[root@root /]# echo '111 222 333 444 向文件里输入内容编辑
555 666 444 555 666
111 222 55 66 44 88
552'>/a.txt 根目录下有该文件就写入,没有就创建
[root@root /]# cat a.txt 查看根目录下a.txt文件的编辑的内容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
[root@root /]# pwd 打印当前目录位置
[root@root /]# vi a.txt vi编辑器编辑内容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
"a.txt" 6L, 115C written
[root@root /]# cat a.txt 查看编辑的内容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
---please do something for it
[root@root /]# vim a.txt vim 编辑器编辑
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
---please do something for it
please do something for it
---vim to do this
---55556666
[root@root /]# cat a.txt 查看编辑的内容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
-- please do something for it
---vim to do this
---55556666
---8888 99999
[root@root /]# cho 123456 >>a.txt 2>&1 错误数据是否和正确数据输出写入到了 a.txt 文件里
[root@root /]# cat a.txt 查看错误数据有没有写入
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
please do something for it
---vim to do this
---55556666
---8888 99999
-bash: cho: command not found 这里是写入的 错误数据输出值
[root@root /]# xargs -n 4 <a.txt 对a.txt 文件进行 分组整理 按每行 4 个数据分组
---111 222 333 444
---555 666 444 555
---666 111 222 55
---66 44 88 552
---if you love that
---please do something for
---it ----------- vim to
---do this 55556666 8888
---99999 -bash: cho: command
---not found
[root@root /]# cp /my/a.txt / cp 复制文件到 根目录
---cp: overwrite /a.txt'? y 根目录有 是否要覆盖 'y' 覆盖 'n' 不覆盖<br/>[root@root /]# mv /a.txt /my mv 移动根目录的a.txt文件到/my目录下<br/>---mv: overwrite/my/a.txt'? y
[root@root /]# cat /my/a.txt
[root@root /]# cd /my
[root@root my]# cat a.txt
[root@root my]# echo 1 2 3 4 5 6 7 8 >a.txt 对文件进行编辑
[root@root my]# cat a.txt
---1 2 3 4 5 6 7 8
[root@root my]# xargs -n 3 <a.txt 按 3 分组整理
---1 2 3
---4 5 6
---7 8
[root@root my]# cp a.txt /
[root@root my]# cd /
[root@root /]# ls
& boot etc lost+found my root srv usr
---a.txt data home media opt sbin sys var
---bin dev lib mnt proc selinux tmp
[root@root /]# rm /my/a.txt 删除文件
---rm: remove regular file /my/a.txt'? y<br/>[root@root /]# ls /my<br/>[root@root /]# find / -type f -name 'a.txt' -exec rm{} \; 按条件找到文件删除<br/>---find:rm/a.txt': No such file or directory
[root@root /]# touch /my/b.txt
[root@root /]# ls /my
---b.txt
[root@root /]# find /my -type f -name 'b.txt' |xargs rm 按条件进行管道删除
[root@root /]# ls /my**

上一篇:python打包pyinstaller


下一篇:shell条件判断 if else