linux

命令、文件操作、磁盘

命令解析器
本质:识别命令,调用程序

  • linux:bash
  • unix:shell

快捷键

history:查看历史操作
ctrl + p : 返回上一条历史操作
ctrl + n : 返回下一条历史操作
ctrl + f : 光标向前
ctrl + b : 光标向后
ctrl + a : 光标移动到行首
ctrl + e : 光标移动到行尾
ctrl + h : 删除光标前面的一个
ctrl + d : 删除光标覆盖的
ctrl + u : 删除光标前面所有

系统目录结构

在这里插入图片描述
树状结构:
在这里插入图片描述

  • /bin : (binary)存放常用操作命令(ls, cat…)
  • /boot : 开机启动项,存放linux核心文件,包括链接文件和镜像文件
  • /dev : 设备文件
  • /etc : 存放系统管理的配置文件
  • /home : 家目录
  • /lib : (library)存放着系统最基本的动态连接共享库
  • /lost+found : 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media : 设备文件,比如:u盘会自动挂载到这个文件上
  • /mnt : (手动的话可以挂载到这个文件上)系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /usr : (user soft resource) 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • /usr/bin:系统用户使用的应用程序
    • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src:内核源代码默认的放置目录。
  • /var : (变化文件)可以存放日志
  • /root :该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin : root用户的系统管理文件
  • /tmp : 可以用来存放临时文件
  • /selinux :这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /opt : 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • //proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器

路径

  • 绝对路径:/home/user/xxx
  • 相对路径
    在这里插入图片描述
    user_name @ machine_name : current_path $
    $ : 普通用户
    # : 超级用户(root)
文件操作
  1. 查看目录:ls
    在这里插入图片描述
  2. tree ([dir])
  • 白色:普通文件
  • 蓝色:目录
  • 绿色:可执行文件
  • 红色:压缩包
  • 青色:链接
  • 黄色:设备文件
  1. ls ([op])
  • -l : 详情信息
  • -a :all
  • -h : human
    在这里插入图片描述 xx1x2x3x4x5x6x7x8x9 hard_link user group size month day h:m name
  • x:文件的格式
    • -:普通文件
    • d:dir
    • l:link
    • b:block(块设备)
    • c:char(字符设备)
    • s:socket
    • p:pipe
  • x1 - x3:用户的权限
  • x4 - x6:组权限
  • x7 - x9:其他人权限
    r :read w:write x:execute
切换目录
  1. cd [path]
  2. pwd
创建目录
  1. mkdir dir_name:只能创建单一目录
  2. mkdir -p dir_name:可以创建多级目录
删除

rm ([op]) file/dir

  • -r:递归删除(一般删除目录需要使用到)
  • -i:提示是否删除
  • -f:file

NOTE:
删除文件是永久删除

复制

cp ([op]) source destination

  • 复制文件:
    • 不存在:创建
    • 存在:重写
  • 复制目录
    cp -r source destination
    • 不存在:创建
    • 存在:将复制的文件复制到目录里面
查看
  1. cat file
  2. more file
  3. less file
  4. head -n file:查看前n行
  5. tail -n file:查看尾n行
移动、修改名字
  • 移动:mv path1 path1:当文件两次移动位置一样当名字不一样相当于改名
  • mv file/dir_path destination
创建链接(要用绝对路径)
  • 软链接:ln -s file/dir_abs_path path_and_name
  • 硬链接:ln file_abs_path path_name(不能连接目录)

NOTE: 软链接与硬链接的区别
软链接:相当于windows下的快捷方式(python下的引用)
硬链接:类似于复制文件(实际上不占用磁盘空间)(python下的指针)

文件或者目录的属性(了解)

  1. wc filename
    在这里插入图片描述
    行数 单词数 字节 名字
  2. du -h:当前目录大小
  3. df -h:磁盘使用情况

查看、修改用户权限

查看

whoami

修改用户

在这里插入图片描述
chmod n1n2n3 file/dir
(r:4, w:2,x:1)

  • n的取值:0 1 2 3 4 5 6 7
    • 0:什么权限都没有
    • 1:可执行
    • 2:可写
    • 3:可写可执行
    • 4:可读
    • 5:可读可执行
    • 6:可读可写
    • 7:可读可写可执行
  • n1:user
  • n2:group
  • n3:other
修改组
  1. chown user file/dir:改变file/dir的所有者为user
  2. chown user:group file/dir:改变file/dir的所有者和所有组为user、group
  3. chgrp group file/dir:改变file/dir的所有组为group

查找文件

  • 按文件属性查找(find 通配符 * ?)
  1. 文件名:find [要找的目录path] -name "文件名"
root@VM-0-16-ubuntu:/home/ubuntu# find / -name "bin"
/usr/lib/klibc/bin
/usr/lib/initramfs-tools/bin
...
  1. 文件大小
    find [要找的目录path] -size 大小(k,M)(-:小于 | +:大于)
// 寻找小于1k的文件
root@VM-0-16-ubuntu:/home/ubuntu# find ./ -size -1k
./.ssh/authorized_keys
./.sudo_as_admin_successful
./.cache/motd.legal-displayed
//找到大于2k小于2M的文件
root@VM-0-16-ubuntu:/home/ubuntu/aa# ls -lh
total 12K
drwxrwxr-x 3 ubuntu ubuntu 4.0K Oct 11 20:03 bb
drwxr-xr-x 2 root   root   4.0K Oct 12 16:12 das
-rw-r--r-- 1 root   root     23 Oct 12 16:12 text
root@VM-0-16-ubuntu:/home/ubuntu/aa# find /home/ubuntu/aa/ -size +2k -size -4M
/home/ubuntu/aa/
/home/ubuntu/aa/bb
/home/ubuntu/aa/bb/cc
/home/ubuntu/aa/das
  1. 文件类型查找
    find [要找的目录] -type 类型
    类型:- ,d, f, b, c, s, p
  • 按文件内容查找
    grep -r "查找的内容 [路径]"
root@VM-0-16-ubuntu:/home/ubuntu/aa# grep -r "one " /home/ubuntu/
/home/ubuntu/test/a:one line
/home/ubuntu/a:one line

软件安装

在线安装

  • 安装:sudo apt-get install [软件名]
  • 卸载:sudo apt-get remove [软件名]
  • 更新软件列表:sudo apt-get update
  • 删除安装包:sudo apt-get clean

deb包安装

  • 安装:sudo dpkg -i [安装包.deb]
  • 卸载:sudo dpkg -r [软件]

源码安装

  1. 解压缩
  2. 进入安装目录
  3. 检测文件是否缺失
  4. 编译make
  5. 安装:sudo make install

磁盘管理

挂载

  • 系统 默认挂载到 /media
  • 手动挂载一般挂载到/mnt
  • 挂载方式:mount [设备名] [要挂载到的目录(/mnt)]
    查看设备:fdisk -l

卸载挂载

umount [挂载的路径]

NOTE:
最好是挂载到/mnt目录下,挂载到其他目录要确保其他目录为空目录
否则会暂时覆盖该目录

压缩管理

  1. gizp
  • 压缩:gzip -r file:不保留原文件,只能压缩file
  • 解压:gunzip file
  1. bzip2
  • 压缩:bzip2 [-k] file -k保留源文件
  • 解压:bunzip2 file
  1. tar(保留原文件)
  • 参数
    • z:使用gizp方式压缩
    • j:使用bzip2方式压缩
    • c:创建
    • x:解压
    • v:显示提示信息
    • f:显示压缩文件名
  • 压缩
    • tar zcvf [压缩后的名字.tar.gz] [要压缩的文件path]
    • tar bcvf [压缩后的名字.tar.bz2] [要压缩的文件path](压缩比大)
  • 解压
    • tar zxvf [压缩包] -C [要解压到的path](解压目录用-C)
    • tar jxvf [压缩包] -C [要解压到的path](解压目录用-C)
  1. rar
  • 压缩:rar a [生成的压缩文件名] [path](生成文件会自动加上后缀)
  • 解压:rar x [压缩包] [解压到path]
  1. zip
  • 压缩:zip [生成压缩文件path] [要压缩的文件path]
  • 解压:unzip [压缩包名] -d [解压到path](-d 指定目录)
    总结:
  • 压缩:tar/rar/zip 参数 生成的压缩文件名 要压缩的文件path
  • 解压:tar/rar/unzip 参数 压缩包名 参数 要解压到path

进程管理

  1. 查看当前用户
    who
  2. 查看进程情况
    ps aux
    (PID:进程id)
    ps aux | grep "要搜索的内容"
  3. 杀死进程
    kill -l:查看信号
    kill -9 PID
    kill -SIGKILL PID
  4. 查看当前进程的环境变量
    env
    env |grep PATH
    PATH=value:vulue:value…

网络相关命令

  1. ifconfig
  2. ping
  3. nslookup [网站(www.baidu.com)]:查看网站IP

用户管理

su user_name:使用用户

  1. 添加用户:
  • sudo adduser [user_name]
  • sudo useradd -s [shell(/bin/bash)] -g [group] -d [dir] -m [user] : -m:如果用户目录不存在则创建
  1. 创建组:sudo groupadd [group]
  2. 修改密码
  • sudo passwd user:修改user的密码
  • sudo passwd (root):修改root用户密码
  • passwd:修改当前用户密码
  1. 删除用户
  • sudo deluser user:删除不彻底,家目录要自己删除
  • sudo userdel -r user:家目录自动删除
  1. 查看用户
    vim /etc/passwd

服务器搭建

ssh服务器

  1. 服务器端
    sudo apt install openssh-server
  2. 客户端
  • 远程登录:ssh 用户名@IP
  • 退出:quit,bye…
  1. scp命令
  • 从服务器上下载文件到本地
    scp -r 服务器用户名@IP:/服务器上文件的绝对路径 /本地绝对(相对)路径
  • 本地上传文件到服务器
    scp -r 本地文件绝对路径 服务器用户名@IP:服务器上文件的绝对路径

vim

  1. 三种模式
  • 命令行模式
    • a:在光标后面插入
    • A:在行尾插入
    • i:在光标前插入
    • I:在行首插入
    • o:在光标下面新插入一行
    • O:在光标上面新插入一行
  • 编辑模式
  • 末行模式
    在这里插入图片描述
  • 撤销与反撤销
    撤销:ctrl+u
    反撤销:ctrl+r
  • 查找
    命令行模式下:
    /xxx Enter
    n:向下查找
    N:向上查找
    ?xxx
    #选择一个单词查找
  • 缩进
    >>
    <<
  • 替换
    末行模式下:
    :/s/要替换的/替换成 :光标所在行,只替换一个
    :/s/要替换的/替换成/g:光标所在行,全部替换
    :%s/要替换的/替换成/g:全部文本替换
  • 分屏
    :sp:水平分配
    :vsp:垂直分屏
    ctrl + w w:切屏
  • 可视模式
    v
    V
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值