Linux 常用命令


好久没更新博客啦,今天和大伙分享一下自己过去总结的linux命令笔记 ~


目录

系统操作

  • 查看信息

    • 查看CPU核数、架构等:lscpu
    • 查看内存:free -g
    • 查看系统版本:lsb_release -a
    • 查看主机名:hostname
  • 重启:sudo shutdown -r now

  • 关机:sudo shutdown -h now

用户操作

  • 切换用户:su - [user_name]

  • exitctrl+D:登出当前用户

  • 创建用户:

    • 先创建用户组:groupadd [user]

    • 然后创建用户:

      useradd -g [user] -d [home_dir] -s /bin/bash [user]
      
      • -g指定用户组,-d指定家目录,-s指定登录shell
    • 恢复用户模板(解决bash-4.2$问题):

      su  # 切换到root账户
      cp /etc/skel/.bash* /home/[user]/
      [root@localhost ~]# chown [user]:[user] /home/[user]/.bash
      sudo su - [user]  # 切回原账户
      
  • 删除用户:userdel -r [user]

  • 授权:chmod xxx dir -R

    mode 的三个数字,分别表示owner, group, others所具有的权限:
    1 = x(execute) , 2 = w(write), 4 = r(read)

    比如owner具有所有权限,1+2+4=7, 又比如group 具有读 和执行权限 1+4 = 5

  • 更改所有者:chown -R 用户名[:用户组] 文件名


文件操作

  • 创建目录:mkdir,创建文件:touch
  • 删除:rm -rf [target],移动:mv [source] [target]
    • 移动多个文件或目录:mv [目录] [文件] -t [目标目录]
  • 复制:cp -a [source] [target]
  • 文件压缩(tar)
    • 压缩:tar -zcvf [xxx.tar.gz] [targetfile]
    • 查看压缩文件:tar -tvf [xxx.tar.gz]
    • 解压缩:tar -zxvf [xxx.tar.gz]
      • 打包命令中的-z参数代表是否使用.gz格式的压缩协议
      • 后面跟上-C [path]可以解压文件到指定目录
  • 文件压缩(zip)
    • 压缩:zip -q -r [xxx.zip] [targetfile]
      • -q 不显示指令执行过程,-r 递归处理,将指定目录下的所有文件和子目录一并处理
    • 查看压缩文件:zipinfo -1 -M [xxx.zip]
      • -1 只显示文件名,-M 以滚动的方式显示超出1页的信息
    • 解压缩:unzip [xxx.zip]
      • 后面可以接-d [dir]指定解压目录
  • 文件压缩(gz)
    • 压缩:gzip -k [targetfile]
    • 解压缩:gzip -dk [targetfile]
  • 创建软链接:ln -s [指向位置] [当前位置]
    • 删除软链接,务必使用:unlink [软链接文件]
  • 查看目录和文件大小:
    • 限制深度:du -h --max-depth=1 [可接具体路径]
    • 指定文件/目录:du -hs [path]
  • 查看磁盘存储空间:df -h

文本编辑

  • 滚动查看:head -f -ntail -f -n
  • 打印:cat,编辑:vi

程序执行

  • 查看CPU资源使用情况:top

  • 查看内存资源使用情况:free -g

  • 让程序进程不受终端关闭影响:nohup [cmd]

  • 让命令在后台执行:[cmd] &

  • 暂停/挂起进程

    • ctrl+z:将前台程序放到后台并挂起(暂停)
    • kill -STOP pid:将指定pid的进程放入后台并挂起
    • kill -CONT pid:让挂起的进程恢复运行(在后台)
  • 查看当前终端后台运行程序:jobs

    • bg [num]fg [num]分别表示将任务放到后台/前台执行,[num]jobs中任务前的序号
  • 利用关键词查找进程:ps -ef | grep [keyword] | grep -v "grep"

  • 使用重定向解决nohup.out文件体积问题:nohup ./xxx >/dev/null 2>&1 &

  • 重定向相关:

    • >覆盖写,>>追加写,1标准输出(stdout),2错误输出(stderr)

    • [cmd] >> [file] 2>&1:把命令的一般输出和错误输出一起(追加)写入指定文件中

      • 2>&1中的>&代表对输出渠道进行合并
    • [cmd] 2>[file]:把错误信息写入指定文件中


定时任务(crontab)

  • 查看定时任务服务进程是否存在:ps -ax | grep crond

  • 示例任务脚本:

    #!/bin/bash
    
    echo &date >> /xxx/test.txt
    
  • 普通用户创建定时任务:crontab -e

    • 然后修改配置文件,加入内容:

      * * * * * /bin/bash /xxx/test.sh
      
    • 5个星号分别对应:分 时 日 月 周

    • 每5分钟:*/5 * * * *

    • 每8小时:0 */8 * * *

    • 每天上午7点10分:10 7 * * *

  • 查看定时任务是否创建成功:crontab -l


FTP / SFTP

  • 进入FTP交互:
    • ftp [user]@[host]
    • sftp [user]@[host]
  • 连接服务器:open [user]@[host]
  • 服务器路径操作:cd, pwd, ls
    • 本地路径操作:在命令前加l(就是local的意思)
  • 上传文件:put,下载文件:get

网络操作

  • 端口转发(把远程端口发出的数据转发到本地端口)

    ssh -N -L [远程端口]:localhost:[本地端口] [remote user]@[remote host]
    

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288918.html

(0)
上一篇 2022年9月12日
下一篇 2022年9月12日

相关推荐

发表回复

登录后才能评论