linux基本操作和常用命令(1)

linux是目前在工作中经常会用到一个操作系统,接下来就根据企业工作中,经常会用到的一些linux基本操作和常常会使用的一个命令,做一下详细介绍。

一:linux basis
常用的简单命令很多,有些很简单,这里只是简单列举下,不做效果实现。
1:echo whoami tree cd pwd ls等,其中ls -l会显示文件的属性,-a会显示当前目录下所有的文件和文件夹等
2: touch mkdir rm cat tail head find等
touch 创建一个文件,后面接路径加文件名,如果不接路径,表示在当前工作目录下创建文件
例:touch /a.txt touch a.txt
拓展用法 touch /opt/{a.txt,b.txt}代表同时创建两个文件,如果是100个文件的话可以,但是得有规律,如touch /opt/{1..99}.txt
mkdir 创建文件夹,常接mkdir -p递归创建文件夹
mkdir /a/b创建b文件夹,前提得有a文件夹,不然会报错。而mkdir -p /a/b 同时创立a和b两个文件夹,mkdir /opt/{1..99}a也可以代表创建多个文件夹
rm 一般会接-rf代表删除当前所有,但是千万别rm -rf /,这就是经常听到的删库跑路,rm -f 文件名 删除文件 rm -rf 目录 删除目录。
cat head tail 显示文件的内容 可以接-n参数显示n行,最后一行的话可以使用tail -f
find 寻找文件,目录,语法 find 路径 -type 文件类型(f,d) -size +(-)文件大小 -iname 文件名称/目录名称
> ,>>配合echo,cat使用,<<配合cat使用,例如echo a >a.txt echo a>>a.txt前者代表覆盖,后者代表追加。cat常在脚本文件中使用cat<<-EOF >a.txt
#你要添加的内容 EOF,在数据处理中还会使用>/dev/null 丢入黑洞,相当于垃圾回收。
2&>1,1&>2,前者代表把错误输出当正确输出输出,后者代表把正确输出当成错误输出,&>/dev/null 把输出都丢入黑洞也是经常写脚本会用到的一个用法
3:cp mv tar
cp 则是复制文件夹和文件,也常常用于备份文件夹和文件,如:cp /usr/local/{conf,conf.bak}
mv 则是移动文件夹和文件路径,也常常用于改名称,如:mv /usr/local/conf /usr/local/default
tar的参数比较多,一般常用的是 tar -czf all.tar.gz /opt/* /opt/ tar -xf all.tar.gz -C /opt/

    4:linux文件常用拓展和示例
   
     ##[Extend01: 创建1000个文件在/opt目录下]
    [root@linux_basis ~]# touch /opt/file{0001..1000}
    
    ##[Extend02: 删除/opt下所有的文件和目录]
    [root@linux_basis /]# rm -rf opt/*
    
    ##[Extend03: 把找到的文件或目录复制到指定的目录下]
    [root@linux_basis opt]# find / -type f -iname *.txt -exec cp {} /opt/ \;

    ##[Extend04: 备份要更改的文件]
    [root@linux_basis ~]# cp file.txt{,bak}

    ##[Extend05: 文件的重命名]
    [root@linux_basis ~]# mv file.txt abc.txt

    ##[Extend06: 只查看文件中的某一行]
    [root@linux_basis ~]# head -14 /etc/passwd | tail -1

    ##[Extend07: 把查找到的文件全部打包]
    [root@linux_basis ~]# find / -type f -iname *.txt | xargs tar -czvf backup.tar.gz {}