Linux常用命令

对使用linux系统时的常用的命令进行简单总结

  • Tab补全

  • cd

    • cd .. 进入上一级目录
    • cd ~ “~”代表当前用户的“$HOME”目录,也就是“/home/{用户名}”目录。
    • cd / 进入根目录
  • ls
    查看当前目录下的文件列表。每个目录下都包含两个特殊目录 . 代表当前目录, .. 代表上一级目录。目录是一种特殊类型的文件!

    • -a: a 是单词 all (所有) 的意思,查看所有文件的文件列表(包括隐藏文件)
    • -l: l 是单词 long (长) ,查看详细信息格式的文件列表,以行显示所有文件
    • -lh: 文件大小改为G、M、K,根据大小适当显示:
    • -lt: 按文件按修改时间排序显示
    • -lht: 常用
  • top
    查看进程信息

  • ps -ef
    ps -ef | grep 关键字

  • df/du
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
    du可以查看文件及文件夹的大小。
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用du查看文件夹或文件的大小,如此便可迅速确定症结。

    • df -hl:查看磁盘剩余空间信息 df(disk file)
    • du -sh 查询当前总目录大小
    • du -h 查询当前目录下各个文件夹的大小
  • mkdir
    新建目录:mkdir xxx

  • g++
    编译文件为可执行文件:c文件 gcc xx.c -o yyy ; c++文件g++ xxx.cpp -o yyy
    执行可执行文件: ./yyy

    • 无选项编译链接:gcc test.c
      将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
    • -o:gcc test.c -o test
      将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。
    • -O:gcc -O1 test.c -o test
      使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
  • pwd
    Print Working Directory 打印当前工作目录路径

  • rm
    删除文件或文件夹: rm [选项] 文件名或文件夹名

    • -f 强力删除,不要求确认
    • -r 递归删除子目录和自身,即删除该目录及其所有内容
  • cp
    复制文件 cp [选项] 被复制的文档路径 文档被复制到的路径
    -r:递归复制目录及其子目录内的所有内容

  • mv
    移动文件 mv [OPTION]... SOURCE... DIRECTORY

  • ping
    来查看本机和目标机网络是否通畅。
    选项: -c 设置ping的次数

  • chmod
    常用:chmod 777 fileName

  • touch
    新建文件:touch xxx.cpp;创建多个文件: touch 文件1 文件2 文件3……
    或 直接 vim xxx 然后 :wq 保存

  • ssh

    • ssh ip_address
    • ssh user_name@ip_address 如果不填user_name,默认为当前系统的user_name,如当前用户为root,则默认为root
  • scp
    scp 命令用于 Linux 之间复制文件和目录。

    第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
    scp local_file remote_username@remote_ip:remote_folder 
    scp local_file remote_username@remote_ip:remote_file
    第3,4个没有指定用户名,默认为当前系统的用户名,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名; 
    scp local_file remote_ip:remote_folder 
    scp local_file remote_ip:remote_file 
    
    复制目录:
    scp -r local_folder remote_username@remote_ip:remote_folder 
    scp -r local_folder remote_ip:remote_folder 
    
    如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,
    scp -P 1234 local_file remote_username@remote_ip:remote_folder 
    
  • sshpass

    • ubuntu安装:apt-get install sshpass
    • centos安装:yum install sshpass
    • scp自动传输:sshpass -p "your password" scp file_source file_target
    • ssh快速连接:sshpass -p "your password" ssh user_name@ip_address
  • vim/vi

    • 退出
      • :q! 不保存退出
      • :q 未操作退出
      • :wq 保存退出
    • Esc进入命令模式
      • i 进入编辑模式
      • ctrl+f 向下翻页 ctrl+b 向上翻页
      • /xxxx向下搜索单词 ?xxxxx向上搜索单词 n重复前一个搜索动作,继续向下(n)或向上(N)搜索单词
      • u 撤销(复原前一个动作)
      • 0或Home:到行首
      • $或End:到行尾
      • gg:到第一行
      • G:到最后一行
  • nohup command &
    Linux/Unix下,通常只有守护进程可在脱离终端的情况下能继续执行,而普通进程在关闭终端时会因收到SIGHUP信号(挂起信号)而退出。当终端退出后,由该终端启动的后台程序自动退出。

    • 若想命令在后台运行,则可用 & 指定命令在后台运行;
    • 若想终端退出后程序不停止运行,则可用nohup命令启动后台程序;nohup可让命令忽略SIGHUP,从而在终端退出后不关闭后台程序。
  • ** grep -r "keyWord" filePath**
    快速搜索在目录下面的含有关键字的文件

posted @ 2021-11-07 23:13  MuscleKKK  阅读(66)  评论(0)    收藏  举报