linux命令备忘

linux命令备忘

linux命令备忘

1、路径

ls      列举当前目录下所有文件

     ls  -l     查看目录下所有文件,并显示是文件夹还是文件

     -h     显示文件大小

     -lh    列表形式展示文件大小

     -a     显示隐藏文件

pwd     查看当前路径

cd     跳转路径

     cd  -     快速返回打上一次路径

     cd  ~    进入当前用户的home目录

 

权限前面的字母d  表示该目录为文件夹;

                         -   表示该目录为普通文件。

touch 文件名   创建文件

    

2、帮助信息

① 命令+ “--help”   

② man+命令

  

3、通配符

*.py      所有后缀名为.py的文件

?        代表任意一个字符

[adc]    可匹配字符组中任意一个

-          用于表示范围,必须配合[ ]使用

[0-1]    任一匹配0,1,2中任一个

反斜杠“\”使通配符失去作用

ls  \*.a      查找文件名为*.a的文件

参考:https://blog.csdn.net/yjz_sdau/article/details/52851166

 

4、重定向     >

ls   -alh  > text.txt       将查找到的结果保存到 text.txt 中,若该文件不存在则自动创建

gedit   xxx.txt        打开文件xxx.txt 

ls   -a    >>  text.txt    将查找到的结果添加到 text.txt 中,内容不覆盖

1个 >  保存的内容会覆盖目标文件原内容,2个 >> 直接在文件内容后面添加

参考:https://www.cnblogs.com/piperck/p/6219330.html 

 

5、分屏    more

cat   文件名    显示文件所有内容

more   文件名     内容过多时,使用more命令,每次只显示一页,按空格键显示下一页,按 q 退出显示

 

6、管道     |

命令操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入。

管理命令的输出说明:

 

【指令1】正确输出,作为【指令2】的输入 然后【指令2】的输出作为【指令3】的输入 ,【指令3】输出就会直接显示在屏幕上面了。通过管道之后【指令1】

和【指令2】的正确输出不显示在屏幕上面

【提醒注意】:

① 管道命令只处理前一个命令正确输出,不处理错误输出;

② 管道命令右边命令,必须能够接收标准输入流命令才行;

例: ls   -ahl  |   more    查找到的结果暂存在管道  |  中, more 分屏从管道中拿数据并显示

参考:https://blog.csdn.net/feng964497595/article/details/79767260

 

7、目录操作

① 创建目录   

 mkdir 文件夹名     创建文件夹

 touch 文件名     创建文件

② 删除目录

 rmdir  文件夹名   删除文件夹(只能删空文件夹)

 rm     参数    -r    递归删除

                     -f    强制删除

 rm -rf   文件夹名   (删除非空文件,不可恢复)

参考:https://www.cnblogs.com/lansetiankongblog/p/7851474.html

 

8、创建链接文件

即创建快捷方式    ln

命令格式:      ln  源文件  链接文件     (硬链接)

                        ln  -s  源文件    链接文件     (软连接)

软链接:删除源文件,则链接文件无效(链接指向源文件)

硬链接:一份内容多个文件名(内容也记为多个,直到内容个数为0才会完全删除)

补:   ls  -l   显示内容列表中,权限后面的数字代表该内容的个数 

 

9、查看并合并文件内容

cat  文件名     查看并显示文件内容

cat  1.py  2.py  >  3.py     将1.py和2.py内容按先后顺序合并到3.py里

 

10、文本搜索    grep

 参数  -n     在显示符合搜索内容的那一列之前,标示出该列的编号

命令格式:    grep  [-选项]  '搜索内容串'  文件名     搜索xx文件中包含xx字符串的文本行

例如:   grep  '000'  1.py     查找1.py中包含“000” 的文本行

              grep -n  '000'  1.py     查找1.py中包含“000” 的文本行 ,并显示该行的行数

搜索内容串(也可加通配符):   ' ^22 '     以22开头

                                                     ' 22$ '     以22结尾

参考:http://man.linuxde.net/grep

 

11、文件操作

① 查找文件   find

命令格式: find  [查找路径] [查找条件] [处理动作]

 find ./  -name  文件名xx  -ls  查找文件名为xx的文件并以列表展示文件大小等信息

 -size  2M    等于2M的文件

         +2M   大于2M的文件

         -2M    小于2M的文件

 -type   f      文件类型为普通文件          

注:若不指定路径,则默认在当前目录下查找  

参考:https://blog.csdn.net/lyk_lalalala/article/details/80072856

② 拷贝文件   cp

cp  文件名  目标目录

例: cp  2.py  test/   将2.py拷贝到test文件夹中 (test/与2.py在同一级目录)

拷贝文件夹需要加参数  -r

  cp  test  test2  -r    递归拷贝,将文件夹test拷贝到test2中

参考:https://blog.csdn.net/u014542122/article/details/78901656  

③ 移动文件   mv

mv  文件  目标目录

例: mv 文件夹1   文件夹2   将文件夹1移动到文件夹2

补: tree  显示当前目录结构

        tree  目录   显示指定目录结构

参考:https://blog.csdn.net/ab_xue/article/details/80767638

④ 文件重命名   mv   rename

mv  待修改文件/文件夹   目标文件/文件夹

rename  arg1  arg2  arg3   

arg1:旧的字符串

arg2:新的字符串

arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[ ]

参考:https://blog.csdn.net/Sea_Shore/article/details/6102437

⑤ 归档管理   tar

即打包

tar  -cvf  test.tar  1.txt  2.txt  3.txt    将1,2,3这三个txt文件打包到test.tar 包中

注:-f 必须放在所有参数最后面

解包    tar   -xvf  包名

参考:https://blog.csdn.net/qq_40232872/article/details/79159753

⑥ 文件压缩

1) gzip  [选项]  包名

-d   解压

-r   压缩所有子目录

打包并压缩    tar  -zcvf   xxx.tar.gz     文件1  文件2      把文件1和文件2压缩成xx.tar.gz

解包并解压    tar  -zxvf  xx.tar.gz

解压到指定路径     -C  + 路径       例:  tar  -zxvf   xx.tar.gz  -C  目标路径

参考:http://man.linuxde.net/gzip

2)bzip2     -j

压缩:  tar  -jcvf   xx.tar.bz2   文件1  文件2

解压:  tar  -jxvf   xx.tar.bz2 

参考:http://man.linuxde.net/bzip2

  

12、系统命令

① cal    当前日历

② date   当前时间

③ ps     查看进程信息 

      -a    显示终端上的所有进程              -x    显示没有控制终端的进程

      -r     只显示正在运行的进程             -u    显示进程的详细状态    

结束进程     kill    PID     (PID为查找到的进程编号)

强制结束进程    kill  -9    PID      

④ reboot   重启       shutdown   关机

⑤ top   查看动态进程     按 q 退出

⑥ df    查看磁盘空间        df  -lh

⑦ du  查看当前目录磁盘占用情况       du  -lh

⑧ ifconfig    查看网络配置

 

13、远程连接网络   

ssh  用户名@ip地址

例: ssh  python@192.168.xx.xx     远程连接到用户名为python的主机

 

14、用户管理

① 账户信息

who     查看当前登录的账户信息

whoami    查看我是谁

② 用户管理与权限

1)添加用户(在 /home 下)    useradd         

useradd  用户名  -m   添加用户并在 /home 下自动创建该用户目录

cat   /etc/passwd  下可查看系统当前用户名

2)设置用户密码     passwd

passwd  用户名

参考:https://www.cnblogs.com/Alanf/p/7994324.html

3)删除用户    userdel

userdel  -r  用户名    删除用户并删除 /home下目录

4)查看用户组

  • cat  /etc/group
  • groupmod   +按3次tap键

5)切换用户

  • su  用户名        切换到用户x(普通用户或root)
  • su -  用户名      切换用户同时切换到 /home 目录        su -   默认切换到root

  参考:https://www.cnblogs.com/tianyuchen/p/6141752.html

6)添加/删除用户组

groupadd   用户组名      添加用户组

groupdel    用户组名      删除用户组

7)查看用户所在组

groups  用户名

cat  /etc/group  |  'sudo'     查看用户组名为“sudo” 的内容

8)修改用户所在用户组

useradd  -g  用户组  用户        例: useradd  -g  aaa   ceshi      修改用户ceshi的默认组为aaa

-a  -G   往其他组添加用户       例: useradd  -a  -G  bbb   ceshi    往bbb组中添加ceshi

9)为创建的普通用户添加sudo权限

sudo  useradd -a -G  adm

sudo  useradd -a -G  sudo

10)修改文件权限

-rw-rw-r--     三组权限,第一个“ - ”表示普通文件

     第一组“ rw- ”为拥有者权限       u      user

     第二组“ rw- ”为同组者权限       g      groups

     第三组“ r-- ”为其他用户权限     o      other

方法①:

     chmod  u+x   文件名     给拥有者加上 x(可执行)权限

     chmod  g-w   文件名     给同组者减去 w 权限

     chmod  o=w  文件名     给其他人修改权限为 w (r 权限没有了)

     chmod  a=rw  文件名    修改所有人权限为 rw

     chmod  u=w,g=x,o=r     分别修改拥有者权限为 w ,同组者为 x,其他人为 r   (逗号隔开)

   u=,g=,o=   所有人权限均为空

方法②:

     数字法       r     代号4           w     代号2

                      x     代号1           -       代号0

    chmod  u=rwx,g=rw,o=x  文件名     等同于      chmod    761  文件名

       7=4+2+1    表示rwx     拥有者权限

       6=4+2        表示rw       同组者权限    

       1=1            表示x         其他人权限

11)修改文件拥有者    chown

chown   用户1   文件1     修改文件1 的拥有者为用户1

12)修改文件所属组

chgrp  aaa  1.py    将1.py的所属组改为aaa

 

15、ftp服务器搭建

① 安装vsftpd服务器       yum  install  vsftpd    

   一路yes,最后提示安装成功。

② 配置vsftpd.conf       vi  /etc/vsftpd/vsftpd.conf

 将vsftpd.conf文件中的主要设置如下:

 

③ 启动vsftpd      service vsftpd  start

④ 设置vsftpd自启动  

 

⑤ 设置root用户可以ftp上传

 在/etc/vsftpd/目录下有两个文件:ftpusers和user_list,里面记录的用户无法使用通过ftp进行访问。删掉里面root的记录,然后通过:

 

 fedora 下面关闭selinux就可以了 

 

⑥ 重启vsftpd         service vsftpd  restart

参考:https://blog.csdn.net/caoyuanll/article/details/38613303

 

16、配置ssh服务

① 先确认是否已安装ssh服务:   rpm -qa | grep openssh-server

若未安装ssh服务,可输入:   yum install openssh-server

② 修改配置文件        vi /etc/ssh/sshd_config

     Port 22    监听的端口号,默认是22,可以自定义。

  Protocol 2     支持的协议,默认就好,不用修改

  PermitRootLogin yes   是否允许root直接登录,最好设置为no

       MMaxAuthTries 6    最大登录数,默认是6,建议设置为3,防止别人密码穷举。

③ 修改完配置后,重启SSH服务:  systemctl start sshd.service

④ 登录ssh  用户名@ip地址

例: ssh  python@192.168.xx.xx     ssh连接到用户名为python的主机

 

17、远程拷贝scp 

① 本地复制到远程(上传)    scp  [-r]  文件名/文件夹名  远程用户名@ip地址:目标位置的绝对路径

      scp  a.txt  python@192.168.65.121:/home/test/   将本地的a.txt上传到远程目录/home/test/ 下

② 远程复制到本地(下载)    scp  [-r]   远程用户名@ip地址:目标位置的绝对路径   本地路径

      scp -r  python@192.168.65.121:/home/test/   ./     将远程目录/home/test/ 下的test文件夹下载到本地的当前目录

 

18、vi 编辑器

① 进入vi编辑器

 

命令

描述

vi filename

如果filename存在,则打开;否则会创建一个新文件再打开。

vi -R filename

以只读模式(只能查看不能编辑)打开现有文件。

view filename

以只读模式打开现有文件。

注:竖线(|)代表光标的位置;波浪号(~)代表该行没有任何内容。如果没有 ~,也看不到任何内容,那说明这一行肯定是有空白字符(空格、tab 缩进、换行符等)或不可见字符。

② 工作模式切换:

  • 在命令模式下输入 i(插入)、c(修改)、o(另起一行) 命令时进入文本输入模式;按 esc 键退回到命令模式。
  • 在命令模式下输入冒号(:)可以进入末行模式。输入完命令按回车,命令执行完后会自动退回末行模式。
  • 在末行模式下指令错误则返回命令模式。

提示:如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。


③ 快捷操作

  1)命令模式(即打开文件后) 

   指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。

快速定位:  

 88G-----  快速定位到第88行

   1G或gg---    快速定位到文件的首行

    G-----     快速定位到文件末尾

删除文本:

    d+方向键 --   删除文字

    dd -----   删除光标所在整行     例:3dd   从光标所在行算起删除3行

    X   -  - -  -  - -      删除光标往前的字符

    x    -  - -  -  - -     删除光标往后的字符

复制粘贴:

    yy -----   整行复制    (2yy   从光标所在行开始复制2行    )

    p  -----    在光标所在行粘贴已复制的内容

    dd+p  ----  剪切粘贴

替换修改:

    r ------  修改光标所在的字符

   %s/字符串1/字符串2/g     将文件中所有的字符串1修改为字符串2

   5,15s/main/MAIN/g    将文件夹中5-15行中的main修改为MAIN

可视操作:

    v------    从光标所在位置开始,配合上下左右键选中文本,然后再配合d,y,<<,>>等操作使用

撤销操作:

   u  ------  一步一步撤销操作    (ctrl+r  反撤销)

   >> -----文本右移  (<<   文本左移)

查找操作:

/print -----   查找包含print的字符串     再配合n(下一个),N(上一个)

   2)文本输入模式

   在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示。

    a -----在光标后开始插入
    A -----在行尾开始插入
    i -----  从光标所在位置前面开始插入
    I -----  从光标所在列的第一个非空白字元前面开始插入
    o ----- 在光标所在列下新增一列并进入输入模式
    O -----在光标所在列上方新增一列并进入输入模式
    ESC ---   返回命令行模式

   3)末行模式

    末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。主要命令如下

   :q -----结束 vi 程序,如果文件有过修改,先保存文件
   :q! ----强制退出Vi程序
   :wq ---- 保存修改并退出程序
   :set nu ---设置行号

   :17,27>>>  --整体向右缩进3个单位 

posted @ 2019-02-18 11:37 歆歆哟 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值