Linux学习
Extious

进入Linux

终端:

  • 图形终端
  • 命令行终端
    • $表示普通用户
    • #表示root用户
    • Init 3命令选择登录用户,init 0命令退出系统,su - root切换为root权限
  • 远程终端(ssh vnc)

常见目录结构:

1
2
3
4
5
6
7
/ 根目录
/root root用户的家目录
/home/username 普通用户的家目录
/etc 配置文件目录
/bin 命令目录
/sbin 管理命令目录
/usr/bin /usr/sbin 系统预装的其他命令

学习命令

Man

  • Man ls
  • Man mancat
  • Man 7 man

man手册的九个章节:

image

Help

  • 内部命令:Help cd
  • 外部命令:Ls –help
  • 查看类型:type cd

Info

  • Info cd

补充help

一切皆文件

文件查看

  • Pwd 显示当前目录名称
  • Cd 更改当前操作目录
    • Cd - 回到刚才的目录
    • Cd ./.. 相对路径
    • Cd /.. 绝对路径
  • Ls 查看当前目录的文件
    • Ls [目录 目录 …]
    • Ls -l 长格式输出
    • Ls -a 查看所有包括隐藏文件夹
    • Ls -r 逆向顺序显示(文件名逆向)
    • Ls -R 递归全部显示

创建和删除目录

  • Mkdir 创建目录
    • Mkdir [目录 目录 …]
    • Mkdir -p [目录]同时创建多级目录
  • Rmdir 删除空白目录
  • Rm -r -f 删除目录同时非提示

复制和移动目录

  • Cp -r [源目录/文件] [目的地址]
    • -v 显示进度条
    • -p 保留时间
    • -a 保留属主和权限
  • Mv 移动/改名
    • Mv [源目录] [目的目录](目的地址不存在就是改名)
  • 通配符:*,?

查看文件

  • Cat [文件名]
  • Head -5 [文件名] 查看开头5行
  • tail同head
  • -f 跟踪变化
  • Wc 查看多少行
  • More 分行显示

打包和压缩

打包:

  • Tar cf [目录和文件名] [要打包的目录]

压缩:

  • Gzip
  • bzip2
  • Tar czf [tmp/ect.backup.tar.gz] [/etc]
  • Tar cjf [tmp/ect.backup.tar.bz2] [/etc]

解压缩:

  • Tar xf /tmp/etc-backup.tar -C /root
    • Zxf

Vi

四种模式:

正常模式、插入模式、命令模式、可视模式

  • 退出: :q
  • 编辑:i

正常模式:

进入输入模式:i,o,a或大写

进入可视化模式:v

进入命令模式::

单行复制:yy

粘贴:p

多行复制:n yy

单行到结尾:y$

剪切:y-d

命令模式:

  • 保存::w [目录]
  • 不保存::q!
  • 执行linux命令::!
  • 查找:/x
  • 下移:n
  • 上移:shift+n
  • 替换::%s/old/new/g
  • 替换::3,5s/old/new/g
  • 显示行号::set nu
  • 查看vim配置文件:vim /etc/vimrc
  • 到底端:shift+g

可视模式

  • 操作字符:v
  • 操作行:V
  • 操作块:ctrl+v

权限

用户管理

  • 新建用户:useradd username
  • 验证用户的存在:id username
  • 指定用户密码:passwd username
  • 改变自己的密码:passwd
  • 删除用户:userdel username
    • -r 删除home目录
  • 修改用户属性:usermod username
    • -d 目录 修改home目录
    • Chage
  • 新建组:groupadd groupname
  • 切换用户:su - username
  • 授予user权限:visudo

用户配置文件

  • /etc/passwd

image

username:passwd:uid:gid:注释:家目录:命令解释器

  • /etc/shadow

image

username:加密之后的密码

  • /etc/group

image

groupname:passwd:gid:还在其他组的用户

用户目录权限

  • 查看文件权限:ls -l name

image

  • 文件类型:

image

  • 权限表示:
    • 读:r
    • 写:w
    • 执行:x

不同文件类型不同,权限限制只限制普通用户

修改权限命令

  • 修改文件权限
    • 修改字符权限:chmod u=rwx file
      • 属主权限:u
      • 属组权限:g
      • 其他权限:o
      • 所有权限:a
    • 修改数字权限:chmod:446 file
  • 修改属主
    • 改属主:chown username dir
    • 改属组:chown :groupname dir
    • 或用chgrp

权限冲突,以属主的权限为准

管理

网络管理

  • 网络查看
    • net.tools
      1. 查看网卡名称:ifconfig
        1. 修改网卡名称
          image
      2. 查看路由:route
      3. 添加删除路由:route add/del …
      4. 网络故障排除
        1. 查看网络是否畅通:ping ip
        2. 检查每一跳的信息:traceroute -w 1 www.baidu.com或者mtr
        3. 域名解析:nslookup 域名
        4. 检测指定ip端口:telnet ip
        5. 网络抓包:tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/file
        6. 查看监听端口:netstat/ss -ntpl
          1. -n 只显示ip
          2. -t 只显示tcp
          3. -p 也显示进程
          4. -l listen
    • iproute2
  • 网络服务管理
    • 配置文

软件包管理

rpm格式

使用yum包管理器,如CentOS、RedHat

格式:软件名称-软件版本-系统版本-平台.rpm

rpm命令管理

如果rpm包在设备文件/dev中、查看镜像文件需要挂载

mount /dev/sr0 /mnt将光盘文件挂载到mnt中ls可查看

cd packages在这里可以查看到rpm文件

rpm -qa查询安装的所有rpm包

rpm -qa | more分页查询安装的所有rpm包

rpm -q 包名查询安装的指定rpm包

rpm -i 包名安装指定rpm包

rpm -e 包名卸载安装的指定的rpm包

yum命令管理

yum管理下载rpm包,存在包镜像,可以改为国内的镜像源,可以不用考虑依赖关系

yum install ...

yum remove ...

yum update ...

源代码编译安装

  • wget下载.tar.gz
  • tar -zxf解压缩
  • cd进入
  • ./configure –prefix=/usr/local/name配置安装位置
  • make编译
  • Make install编译好的进行安装

deb格式

使用apt包管理器,如Debian、Ubuntu

升级内核

rpm内核

查看内核版本:uname -r

使用yum命令

升级内核版本:yum install kernel-3…(www.kernel.org)

升级其他软件以及最新内核:yum update

安装依赖包:yum install

也可以使用源代码编译安装(/usr/src/kernels)

GRUB引导

配置文件

/etc/default/grub

/etc/grub.d

/boot/grub

grub可以修改默认引导的内核

进程管理

查看进程:

  • ps:查看当前运行进程:pid tty(终端)time cmd
    • ps -e | more 分页查看所有进程
    • -f 看到有效用户id,ppid(父进程),cmd补全
    • -lf 看到线程
  • pstree | more进程以树状形式显示
  • top查看全局进程信息

进程控制:

  • 调整优先级
  • nice -n 10 ./a.sh
  • renice -n 15 pid

作业控制

  • 在后台运行:./a.sh &
  • 调到前台:jobs查看后台进程信息,fg 1 调到前台
  • ctrl+Z调到后台,同时停止进程
  • 前台运行:fg,后台运行:bg

进程通信:

管道符、信号、套接字

  • 查看信号:kill - l
    • 2号:SIGINT相当于ctrl+C
    • 9号:SIGKILL不可中断的停止
  • 发送信号:kill - 9 pid

守护进程:

不需要终端就可以启动

  • 关掉终端不会杀死进程同时忽略输入,输出到nohup.out中:nohup 程序 &

screen环境:

  • screen:进入screen环境
  • ctrl+A+D退出会话
  • Screen -ls:查看会话
  • Screen -r id:重新进入会话
  • exit:退出会话

系统日志:

  • cd /var/log
  • /messages常用系统日志
  • /dmesg内核启动日志
  • /secure安全问题

服务管理工具:

systemctl

由 Hexo 驱动 & 主题 Keep
总字数 39.4k 访客数 访问量