Linux(Ubuntu)常用命令

显示目录内容命令

  • ls: 列出目录内容
  • ls -a: 查询所有文件和文件夹,包含隐藏的
  • ls -l: 查询详细列表,简写为 ll
  • 组合命令: ls -la
  • -h: 友好展示信息,将大小转成KB
    • 备注:d 目录,- 普通文件,l 链接,带点的文件/文件夹表示隐藏

CD磁盘命令

  • cd ../: 返回上级目录
  • cd ~: 返回当前用户目录(相当于root用户的桌面,如/root)
  • cd /: 切换到Linux的根目录
  • cd /root: 直接切换到任意目录,此为绝对路径,第一个文件夹不加斜杠就是相对路径(不是任意目录啦)
  • cd -: 切换到上一次放回的目录,只能在两个目录间进行切换,相当于前进后退

文件浏览命令

  • cat 文件名: 快捷查看当前文件的内容,只能查看少量信息的文件,过多会截断
  • more 文件名: 分页显示文件内容
    • {
      • 回车,向下n行,需要定义,默认为1行
      • 空格,向下翻一页
      • B: 向上翻一页
      • q: 退出
    • }
  • less -mN 文件名: 分页显示文件内容,标注每行的行号,适用于大量数据的查看(后期都是用这个)
  • tail -数字 文件名: 查看后几行的内容,适用于查看日志输出

复制、删除文件命令

  • cp 源文件 目标位置: 复制文件
  • cp demo.java d1/demo_new.java: 复制并改名
  • cp -r: 递归复制,如果没加 -r ,复制的目录中还有其他文件/文件夹,就会抛出一个警告,omitting directory 文件夹名称
  • mv: 移动、重命名文件,(出现提示按y为确定,其他未取消)
    • mv -f: 强制覆盖重名文件/文件目录
    • mv demo.java hehe.java: 重命名为hehe.java
  • rm: 删除文件/文件夹
    • rm -f: 暴力删除
    • rm -r: 递归删除
    • rm -rf: 暴力递归删除
    • rm -rf *: 删除当前目录下所有内容
    • rm -rf /*: 删除Linux根目录下所有内容

记事本命令

  • find 目录名 -name '字符串名称': 查找文件/目录
  • vim: 相当于记事本,分为以下三种模式:
    • 一般模式,可以浏览内容,按 i 切换到插入模式,按 : 切换到底行模式
    • 插入模式,可以编辑文件内容,按 ESC 切换到一般模式
    • 底行模式,可以进行强制退出不保存操作 q!,可以进行保存并退出操作 wq
  • grep: 正则表达式,用于字符串搜索工作,返回行数据
    • grep -i mbzd demo.txt: 在demo文件中模糊查询mbzd字符串,-i 是指忽略大小写
    • ll | grep ins: 进行连接操作,连接了 ll 命令,可以查询root目录下,文件名包含ins的行数据

压缩/解压命令

  • tar -zcvf hehe.tar.gz *: 压缩当前目录所有内容,命令顺序不能打乱
  • tar -zcvf hehe.tar.gz demo.txt: 将demo.txt文件压缩
  • tar -zxvf hehe.tar.gz: 解压到当前目录
  • tar -zxvf hehe.tar.gz -C 指定目录地址: 解压到指定目录

系统命令

  • UID(User id): 用户名称
  • PID(Process id): 进程编号,用来杀死进程的
  • ps -ef: 相当于任务管理器,可以查看所有的进程
  • ps -ef | grep -i vim
  • kill -9 1823: 杀死某个进程,1823为PID
  • ping: 测试和目标的连通性,时间越短,连接越快,会持续不断一直测试,直到按 ctrl+c
  • 重启: reboot
  • 关机: halt
  • setup: 可以用来进行网络配置,在虚拟机中是全英文,在CRT中是中文,该DHCP时,按空格键这个星号会自动去掉,然后就可以设置静态IP了

文件权限

  • 用户权限配置
  • 更改文件权限
    • chmod u=r demo.txt
    • chmod a=r demo.txt
  • 更改文件夹权限,要递归处理,注意是大写的R
    • chmod -R u=r t1
  • 开启该文件的全部权限
    • chmod 777 mysql_data_bak.sh
    • chmod 777 *.sh
  • 目录授权
    • chmod +x /root

复制文件夹后,文件夹的权限没有带过来,得用root账号重新赋权

chown -R guest /home/guest
=》注意必须要递归修改,否则只是更改了当前指定目录的用户权限

程序安装/卸载命令

  • rpm: 用于管理程序
    • 程序安装: rpm -ivh ..
    • 程序查看: rpm -qa ..
    • 程序卸载: rpm -e --nodeps ..
  • yum: 相当于联网的rpm命令
  • yum install glibc.i686
  • apt-get: 相当于联网的rpm命令

基础命令

  • ifconfig: 查看网络配置
  • pwd (print working directory): 显示当前所在目录,返回绝对路径
  • mkdir (make directory): 创建目录
  • mkdir -p t3/t4: 父目录不存在的情况下自动生成父目录(递归创建目录,即使上级目录不存在,会按目录层级自动创建目录)
  • rmdir: 删除空目录
  • touch 文件名: 创建文件
    • touch + akk.txt

补充

  1. Linux通过sed修改文件中某一行的内容:

    sed -ie 's/daemonize no/daemonize yes/g' redis.conf
    
  2. 在vim的底行模式下,用 :/字符串内容 也可以进行查找

查看系统信息

  1. 查看CPU信息
  • cat /proc/cpuinfo | grep "physical id" | uniq | wc -l: 查看CPU个数
  • cat /proc/cpuinfo | grep "cpu cores" | uniq: 查看CPU核数
  • cat /proc/cpuinfo | grep 'model name' |uniq: 查看CPU型号
  • cat /proc/meminfo | grep MemTotal: 查看内存总数
  1. 任务管理器

    top
    
  2. 查看内存占用情况

    free
    

使用du命令查看磁盘使用空间

  • --max-depth: 用于指定深入目录的层数
# 查看当前目录大小
du -sh
du -h --max-depth=0

# 查看当前目录下所有文件夹/文件(只查一级)的大小
du -h --max-depth=1

# 查看子目录大小
du -h

# 查看当前目录下所有文件夹/文件(含递归)的大小
du * -sh

# 查看文件或文件夹的磁盘使用空间
du -h --max-depth=1 /data

# 输出G级别的文件/文件夹 并 排序
du -h --max-depth=1 /var/lib/docker/overlay2/ |grep 'G' |sort -nr

### 查看目前所有文件系统的可用空间及使用情形/查看磁盘空间
df -h

清理服务器缓存

sync
echo 3 > /proc/sys/vm/drop_caches

查看端口占用情况,找到端口对应的应用的ID(列出所有进程对应的端口)

netstat -tnlp
netstat -lntp

查看CPU信息

lscpu

docker文件占用硬盘清理

find /var/lib/docker/containers/ -name "*-json.log"
sudo rm -rf /var/lib/docker/containers/*/*-json.log

切换到root账号(同一个密钥文件,默认是ec2-user账号,需要切到root账号)

sudo su root

Ubuntu上使用unzip解压zip文件,需要先安装下unzip

unzip xx.zip

查看Java进程

jps

修改环境变量,环境变量前面要加 export,否则声明的环境变量无法生效/其他服务引用不了

vim /etc/profile
source /etc/profile

查看CPU型号

lscpu

查看占用CPU、内存高的进程(自带的top、ps以及htop等命令看不到占有内存高的进程)

ps -aux --sort -pmem | less  ## 根据内存使用率来排序
ps -aux --sort -pcpu | less  ## 根据CPU使用率来升序排序

查看系统日志

cat /var/log/messages

清空日志文件

> ../logs/demo.war.log

调用别的shell脚本

. ./subscript.sh
sh subscript.sh

查看端口占用情况

netstat -ap | grep 6379
netstat -anplt | grep sshd

查看进程

ps aux | grep nacos
ps -ef | grep nacos

telnet查看端口是否生效

telnet 47.103.132.135 443
tracepath 47.103.132.135

查看时间段日志

sed -n ‘/起始时间/,/结束时间/p’ 日志文件
sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out

指定时间点的日志,并导出到单独文件中

sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out > nohup0521.out
sed -n '/2022-05-21 10:08/,/2022-05-21 10:20/p' ee.jar.log > ee.jar-0521.log

nginx相关命令,进入到nginx/sbin目录

./nginx v   ## 版本号
ps -A | grep nginx   ## 查看nginx是否启动,有返回结果则代表已启动
./nginx -s reload   ## 重启

除了列出符合行之外,并且列出后NUM行

语法:-A NUM,--after-context=NUM
示例:grep -A 1 panda file
含义:从file中搜寻有panda样式的行,并显示该行的后1行
posted @ 2020-04-15 16:44  暹罗siam  阅读(303)  评论(0编辑  收藏  举报