Linux入门50指令

1, mkdir创建目录 make directory 可以带着路径,在什么位置创建什么目录

     如:mkdir /etc/date  在目录etc下创建date目录

     重要参数 –p 递归创建,mkdir –p /data/EthanCui/ethan 若无父目录,则直接创建,若存在父目录,也不会出错,继续创建子目录,除非子目录,父目录都存在,才会提示已存在

2, ls: list,显示文件或目录,缺省情况下,显示当前目录清单;如果ls指定其他目录�那么就会显示指定目录里的文件及文件夹清单

       ls –ld 以长格式显示当前目录信息

    重要参数 : –a 可以在某层目录下查看显示隐藏文件

    -d directory 以文件形式显示目录,而不是显示目录下的文件清单

    –l 长格式显示当前目录详细文件信息

    –h 更人性化的显示当前目录详细文件信息,可搭配-l一起使用,可以看出当前目录文件大小是用什么标识显示的

3, cd切换目录,相当于change directory,

4, pwd查看当前路径 print work directory

5, touch 创建空文件,例如在某路径 touch ethan.txt

      也可直接指定路径创建 touch /etc/ethan.txt

6,vi编辑器,有编辑功能,可以用来给文本增删内容,对于不存在的文件也可以直接创建出来。

    例如,在家目录下新创建ethan.txt文件,并输入What a good day!内容

    无论在哪个目录下,可以直接cd 就会返回到家目录下,可以再pwd确认下

    然后vi ethan.txt

    打开之后是只读格式,按i键,输入,完成后按Esc,然后

  :wq 就是写入退出 write and quit

    :q 不保存退出 quit

    :q! 强制退出

7,cat查看指令,可以查看文件内容,同时也可以直接创建文件并输入内容

    cat指令会将文件全部显示,如果文件比较多,可以使用more指令从头到尾慢慢看

[root@LiangCui ~]# cat >> ethan.txt <<eor

> I am good   

> and I am a fucking genius,,haha

> eor 

8,echo打印命令,与>一起使用,可以将打印的结果放入>后的文件中,如果文件不存在,也可以直接创建出该文件,

    例如 echo “What a good day” > ethan.txt

    echo 111 1>ethan.txt  222 2>frank.txt 正确无误就会输入ethan.txt 如果有错误,比如echo少打了个o,就会输入到frank.txt里

9,>重定向,会把原来的内容覆盖,>>追加重定向,会追加到原内容的结尾

   <输入重定向,<<追加输入重定向 。箭头的方向就是数据的流向

10,vim复杂编辑器,如果文件本身不存在,就会直接创建。

      vim ethan.txt +20 回车之后,会直接跳到文档的第20行,

      vim .test.txt 可以创建隐藏文件  只需要在文件名前加点  . 就可以

      vim ethan.txt 回车后,为只读模式,按 i 进入insert插入模式,输入完成之后,按Esc,再保存 :wq 或是不保存退出 :q

11,tab键可以路径补全或是文件名补全,只要按tab键无反应,那就是肯定错误了

12,cp 复制文件 格式如下 cp【空格】要拷贝的文件【空格】要往哪拷贝(位置),      

      cp ethan.txt  /etc/

      参数 –r 递归复制目录, cp –r 【空格】要拷贝的文件【空格】位置

       参数 -a 相当于-pdr (d)属性可以先不管

       参数 –p 保持属性,复制过程中不会变

13, mv 移动命令move,移动目录或文件,

       例如/下有date目录,移动date到/etc下  mv  /date  /etc/

       mv 文件1 文件2 ,最终的结果会是只剩下文件2名字,内容被文件1内容覆盖,此种情况也可用在给文件1改名字上

14,man 帮助命令 例如 man cp

15,help 帮助查询内置命令 例如help cd ,在无法准确分辨是否为bash内置命令时,所有都可以先使用man 指令,如果是内置命令,会有提示

16,more 加文件名,可以从头到尾慢慢显示文件内容,之后可以按回车 逐行下拉,或是空格键大幅度下拉,按q键退出,注意:more指令无法回退

17,less 加文件名, 相对于more更好用,可回退看过的内容,按q退出

18,head 按要求行数从头开始显示文件, -n 加数字,就是显示几行,可简写为 -数字

      例如 head –n 3 ethan.txt ,就是显示文档ethan.txt里的前3行,

      也可写成head -3 ethan.txt

      如果不加参数,默认显示10行,例如 head ethan.txt,显示文档ethan.txt前10行

19,tail 按行数要求,从尾开始显示文件,用法与head一样

20,diff 比较文档差别,例如先将ethan.txt复制内容保存为ethan.txt20160505,再修改ethan.txt内容,使用diff ethan.txt ethan.txt20160505比较,结果会打印2文件存在差别的地方

21,vimdiff 比较文件差别,会高亮显示2文件的差别指出,差别之处会有提示,并且文件余下内容也会打印出来,:qa退出全部

22,tree 加目录名 查指定目录的树结构,不加目录名,显示当前目录的树结构

      例如 tree /  (相当多,谨慎使用,可以按ctrl + c 停止显示)

23,rmdir 移除空目录,remove directory ,如果目录非空,会提示失败

      如果需要移除非空目录,可使用 rm指令,见24指令

24,rm 移除指令,remove,使用起来一定要谨慎,一旦移除,很难复原,需要关闭服务器,使用第三方找回软件,还不一定成功

      参数 –f  force 强制删除,不需提示 例如强制删除文件 rm –f ethan.txt

      参数 –r  remove directories and their contents recursively递归移除目录及目录里的内容,例如强制删除目录就可以用 rm –rf /date

磁盘空间充足的话:可以创建个目录,专门当作回收站来使用,不想用哪个文件时,就直接用mv指令把文件移到回收站即可,根目录下有tmp文件夹,可以用来存放临时文件;

磁盘空间不足的话:可以使用重定向符号,> ethan.txt 把这个文件清空,生产场景可以先cp复制再删,和mv思路一样

25,useradd=adduser 创建新用户  例如 useradd Study

       passwd 为用户创建密码,例如 passwd Study

       创建的新用户为普通用户,提示符为$

26whoami 查看当前用户

27,su 切换用户,例如 从普通用户Study 切换到root,su – root 需要输入root密码的, 从普通用户到root需要密码,从root到普通用户无需密码,如果su – 不指定用户名,默认切换到root

     参数 – 切换用户环境变量

28,chattr 修改文件属性,仅限于root用户使用

      重要参数: + 激活属性  - 失效属性, i 不可改变 immutable 

      例如 chattr +i ethan.txt,那么ethan.txt就是只读文件,不可修改,也无法删除

      对于已操作的ethan.txt文档,可以用chattr –i ethan.txt解除,进行修改或删除

29,ifup 启动网卡指令,首选,例如 ifup eth0(网卡名字)

    备选方案 /etc/init.d/network restart 或是 service network restart

    ifdown+网卡名 关闭网卡,亲测,关闭之后,SecureCRT无法连接,需要在linux上开启网卡,

30,touch 创建空文件,也可以跟路径,在指定路径下创建空文件

        例如 touch /tmp/ethan.txt

31,tar 解压压缩指令,主要是参数

       -c 创建新的文档,相当于打包

       -x 从文档中释放文件,相当于解包

       -v 过程中显示文件,常用!

       -f 使用文档名,后面直接跟文档名,不能再加参数

       -z是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压?

      例如 tar zcvf tmp.tar.gz  tmp/  代表将目录tmp下所有进行压缩,起名为tmp.tar.gz

      例如 在/etc下 tar zxvf /tmp.tar.gz 注意要跟好文件的路径,会发现解压后etc/下也有个tmp目录

32,date 查询系统时间,日期, 参数 –s 设置时间

      例如把系统时间修改 date –s “2016/05/05 20:44”

33,which 查找命令所在文件位置 ,内置命令无法查到

      例如 which cp

34,whereis 也是查找命令所在文件位置 重要参数 –b 二进制文件

35,locate 根据文件名字查找文件

36,wget 非交互式的下载 加网站网址来下载,更新内置python版本时就可以用到

37,free 查看内存使用情况,重要参数 –m以MB为单位,-b以Byte为单位,-k以Kb为单位,-g以G 为单位

      例如free –m 总可用内存为 free mem + buffers +cached

38,top 可以时时监控内存及CPU 使用情况

     us == user用户进程所占CPU

     sy ==systerm操作系统本身所占CPU

     id == idle CPU空闲率

     wa == io wait CPU等待IO的时间比

 39,df 查看当前磁盘总容量及使用情况等 参数 –h 人性化的显示,在其他指令中有的也   是同意义,比较df 和 df –h  比较 ls –l 和 ls –lh

40,du 查看当前目录总文件大小 参数 –s summarize 总数  -h 人性化的,基本就是带着大小的单位标识

41,alias 在linux中是别名的意思 alias  名字 = 值

      unalias取消别名  unalias 指令名

42,history 显示输入指令历史 例如 history 10 显示最近10条输入信息

43,clear 清屏

44,ifconfig 查看和配置网络设备  

      启动网卡 ifconfig eth0(网卡名) up

      关闭网卡 ifconfig 网卡名 down, ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

      Inet addr代表ip地址 mask 代表掩码地址

45,ping 可以用来确定网络或外部主机的状态

     参数 –c 数目 count,在发送指定数目的数据包后停止

     -i 秒数,设定间隔几秒发一个网络封包给机器,默认值为1秒

46,chown更改文件目录的属主或属组

例如 把date目录的属主及属组更改为Study 。 chown Study.Study date/

文件属性 d 代表此为目录directory

         r  代表read; w 代表write ; x 代表excute执行

         用八进制表达 r = 4  w = 2  x = 1 , - = 0

         以目录date为例,属主权限rwx = 7 属组权限 r-x = 5 其他权限r-x = 5

         这个目录权限,简单来表示就是755

         这样来看文件python-2.7.11.tgz 的权限就是644

47,chmod 更改文件或目录的权限 chmod 权限 文件/目录名

    例如 为date目录更改为最大权限 chmod 777 date/

48,Linux三剑客,重点指令第一个:grep兼具打印和过滤的功能

①比如文档ethan.txt包含

> It's really a good day!

> What can i help?

> thank you,James  我现在需要只显示前2行,第3行不需要显示出来 

答案:grep -v "thank you,James" ethan.txt     -v 表示排除“”中的内容,如果不加,则会只打印“”中的内容

②如果seq 100 > ethan.txt 显示第20-30行的内容【seq只能接数字】

grep 某行内容 -B/A/C 行数 ethan.txt  -B 从某行向前 -A从某行向后 -C从某行前后各多少行 【显示的内容包括某行内容及其他行内容】

[root@LiangCui ~]# grep 30 -B 10 ethan.txt

20

21

22

23

24

25

26

27

28

29

30

49,Linux三剑客,重点指令第二个:sed 过滤掉某些内容,或替换掉某些内容

①比如文档ethan.txt包含

> It's really a good day!

> What can i help?

> thank you,James  我现在需要不显示第二行的内容,

答案: sed “/What can i help?/d” ethan.txt  其中d 表示delete的意思,如果是p 就是print的意思【注意是将内容多打一遍】

如:[root@LiangCui ~]# sed "/What can i help?/p" ethan.txt

It's really a good day!

What can i help?

What can i help?

thank you,James     可以引入参数 -n ,取消默认输出

②如果seq 100 >ethan.txt,显示第20-30行的内容,可以sed -n "20,30p" ethan.txt

[root@LiangCui ~]# sed -n "20,30p" ethan.txt

20

21

22

23

24

25

26

27

28

29

30

③sed "s#要被替换掉的内容#替换成的内容#g"  文件名

比如文档ethan.txt包含

> It's really a good day!

> What can i help?

> thank you,James  我现在需要第二行的What can i help?替换成What are you fucking doing?

操作如下sed "s#What can i help?#What are you fucking doing?#g" ethan.txt

注意操作之后,再cat ethan.txt 发现变回了原来的样子,因为这样操作只改变了输出结果,文档内容不做改变,如果需要改变文档内容,引入参数 -i ,输出结果及文档都变

[root@LiangCui ~]# sed -i "s#What can i help?#What are you fucking doing?#g" ethan.txt

[root@LiangCui ~]# cat ethan.txt

It's really a good day!

What are you fucking doing?

thank you,James

50,Linux三剑客 指点指令第三个awk 按要求打印

①打印指定的某一列,标准格式 awk '{print $2}' ethan.txt    【$之后的数字,就表示第几列,而且注意无指定特殊字符情况下,是以空格来划分的,指定特殊字符,就是指2个特殊字符中间为一列】

范例一:[root@LiangCui ~]# cat ethan.txt

It's really a good day!

What are you fucking doing?

thank you,James

[root@LiangCui ~]# awk '{print $2}' ethan.txt

really

are

you,James   

范例二:[root@LiangCui ~]# cat ethan.txt

It's really a good day!

What are you fucking doing?

thank you,James

[root@LiangCui ~]# awk -F "a" '{print $2 $3}' ethan.txt

lly  good d

t re you fucking doing?

mes

    

原文地址:https://www.cnblogs.com/ethancui/p/5465209.html