Linux学习笔记

Linux
[TOC]

Linux目录结构

  • /bin (/usr/bin, /usr/local/bin) : Binary的缩写,存放常用的命令
  • /sbin (/usr/sbin, /usr/local/sbin) : super user 存放系统管理员使用的系统管理程序
  • /home :存放普通用户的主目录
  • /root :root 用户的主目录
  • /boot : 存放启动Linux时的一些核心文件,连接文件,镜像文件
  • /proc : 虚拟的目录,系统内存的映射,访问此目录获取系统信息
  • /srv : service,服务启动后需要提取的数据
  • /sys :安装2.6内核中新出现的文件系统
  • /temp : 临时文件
  • /dev : 设备管理器,硬件用文件形式存储
  • /media : 外置设备,识别后挂载在此目录
  • /mnt : 临时挂载别的文件系统
  • /opt : 安装的软件所在的目录
  • /var : 不断扩充的东西,如日志文件
  • /usr/local : 一般听过编译源码安装的程序
  • /selinux [security enhanced linxu] : 安全子系统控制程序只访问特定文件

Vim

  • 正常模式:

    移动光标,复制粘贴删除

    拷贝:yy,当前向下5行,5yy ===> 粘贴(p)

    删除:dd,当前向下5行,5dd ,dw 删除单词

    x : 删除当前字符 nx : 删除光标n个字符

    o : 打开新的一行

    u : 撤销操作

    ZZ : 保存文件退出

    G : 最末行

    gg : 文件首行

    n+ : 下跳n行

    n- : 上跳n行

    nG : 跳至n行

  • 插入/编辑模式

    i,I,o,O,a,A,r,R进入

  • 命令行模式

    输入:或者/ ======> 完成读取,存盘,替换,离开,显示行号等操作

    设置/取消行号 : set nu / set nonu

    /keyword : 光标下查找,n为查找下一个

    ?keyword : 光标上出现查找 N为向上查找下一个

    :r filename : 读取某一文件内容,写入当前

    :w new-filename : 写入新文件当中

    :! command : 暂时离开vim执行command命令

    :sh : 执行shell命令,ctrl+d退出

    :s /keywords1/keywords2 : 替换行中首次出现

    :s /keywords1/keywords2/g : 替换行中所有出现

    :%s /keywords1/keywords2/g : 替换所有出现

    :n,m s /keywords1/keywords2/g : n到m行提哦还

    :f : 显示文件内容状态

    :e! : 返回当前文件上次保存

    :e file : 切换编辑文件

    :n : 切换下一个编辑文件

Linux命令

系统操作
  • shutdown

    shutdown -h now //立即关机 === halt

    shutdown -h 1 //1分钟后关机

    shutdown -r now //立即重启 === reboot

  • syn //内存数据同步到磁盘

  • su username //登陆 ===>logout 退出

  • useradd username //添加用户 ===> useradd -d 指定目录 username

    ​ ===>useradd -g groupname username // 指定组

  • usermod -g groupname username // 改变组

  • passwd username // set/change password

  • userdel username // delet user

  • id username // 查询用户

  • groupadd groupname // add group

  • groupdel groupname // delet group

运行级别

0:关机

1:单用户

2:多用户无网络服务

3:多用户有网络服务

4:保留

5:图形界面

6:重启

  • 系统运行级别配置文件: /etc/inittab ===> id:5:initdefault:
实用指令
  • man command //帮助信息

  • help command // shell 内部命令帮助信息

  • pwd // 绝对路径

  • ls //查看内容信息 ===》 -a //所有文件,包含隐藏 -h //正常显示大小

    ​ === > -l //列表显示

  • cd directoryname //change directory

  • mkdir directoryname //make directory ===> -p // make multi-directory

  • rmdir directoryname //remove directory ===> -rf //递归删除 ,f=force

  • touch filename //make a blank fle

  • cp source_name source_dest //copy ===>-r 递归复制 ===\cp 强制复制

  • rm file_name/directory_name //remove ===> -r 递归删除 -f 强制删除

  • mv old_file new_file //move or rename

  • cat file //only read ===> -n 显示行号

  • more //文本过滤器,分页显示

  • less //文本过滤器,分页显示,但不是一次性加载完

  • > 覆盖原文件内容, >> 追加,不覆盖

  • echo //输出 echo $PATH

  • head file // 显示文件开头部分,默认10行 ===> head -n 5 filename 显示前五行

  • tail file // 显示文件结尾部分,默认10行 ===> tail -n 5 filename 显示后五行

    ​ ===> tail -f file 实时追踪文件更新

  • ln file_name file_name_link // 软链接

  • history //history command ===> hisory n //查看后n行命令 ===> !n //执行第n行命令

  • date // date "+%Y-%m-%d-%H:%M:%S"

    ===> date -s str_time //set time /exp: date "2018-1-1 11:11:11"

  • cal //日历 /exp: cal 2025

  • find location 选项// ===> -name -user -size /+n 大于 -n小于 n等于 1M

  • locate file_name //快速定位,静态数据库 ===> 第一次,使用updatadb建立数据库

  • grep //过滤查找 ===> -n 显示行号, -i 不区分大小写

  • | // 管道符号,前一命令处理结果交给后命令处理

  • gzip file_name// 压缩 ,不保留原文件

  • gunzip file_name.gz //解压

  • zip xxx.zip file/directory_name //压缩 ===>-r 递归压缩

  • unzip xxx.zip //解压 ===> unzip -d directory_name xxx.zip /压缩到指定文件夹

  • tar //打包 xxx.tar.gz ===>-c 产生tar打包文件 -v 显示详细信息 -f 指定压缩文件名

    ​ ===> -z 打包同时压缩 -x 解包.tar文件

    压缩 tar -zcvf 解压 tar -zxvf

权限操作
  • chown user_name file_name // change file owner
  • chgrp group_name file_name //change file group
  • chown user_name:group_name file_name //change user and group
  • usermod -g group_name user_name // change user group
  • usermod -d directory_name user_name //change user init directory
权限介绍

0-9位 rwx read = 4 write = 2 execute = 1

0 文件类型 (d目录,-普通文件,1软链接,c字符设备[键盘鼠标],b块文件[硬盘])

1-3 所有者权限 user u

4-6 同组权限 group g

7-9 其他组权限 other o =========all a

  • chmod u=rwx,g=rwx,o=wrx file/group_name
  • chmod o+w file/group_name
  • chmod o-w file/group_name
  • chomod 755

任务调度

  • crontab [ ] // ===> -e 编辑 -l 查看 -r 删除

五个占位符 ===> * * * * *

一小时第几分钟 0-59

一天中第几小时 0-23

一个月第几天 1-31

一年中第几个月 1-12

一周中星期几 0-7

其中,*代表任何时间 ,,代表不联系时间 -代表连续时间 */n 代表每隔多久

*/1 1,2,3 1-3 * * /home/mtcrond.sh

分区挂载
  • lsblk // 查看系统分区挂载情况 ===> -f 详细信息

  • fdisk /dev/sdb //分区

    m //显示列表命令

    p //显示磁盘分区,同fdisk -l

    n // 增加分区

    d // 删除分区

    w //写入并退出​

  • mkfs -t ext4 /dev/sdb1 //格式化

    ext4 分区类型

  • mount /dev/sdb1 /home/dir_name // 挂载

    mount 设备名称或则会挂载目录

  • du -h /目录 //磁盘占用情况

    -s 指定目录占用汇总

    -h 带计量单位

    -a 包含文件

    --max-depth=1 子目录深度

    -c 累出明细同时,增加汇总值

  • ls -lR /home | grep "^-" | wc -l // 统计文件夹以及子文件夹文件个数

  • tree // 以树状图显示

永久挂载

vim /etc/fstab

/dev/sdb1 /home/dir_name ext3 default 0 0

Linux 配置

网络配置

直接修改来指定ip,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0

Ubuntu /etc/hosts

service network restart

reboot

进程
  • ps // 显示系统进程 ===> -a 显示当前终端所有内容 -u 以用户格式显示 -x 显示后台运行参数

    PID 进程识别号 TTY 终端机号 TIME 占用CPU时间 CMD 正在执行的命令或者进程

    STAT 进程状态 S-睡眠 s-该会话先导进程 N-更低优先级 R-正在运行 D-短期等待 Z-僵尸进程 T-被追踪或停止

    STARTED 启动时间 COMMAND 启动进程所用命令参数

  • ps -ef //-e 显示所有进程 -f 全格式

    PPID 父进程 C 优先级因子,越大,CPU密集型运算,优先级降低,数值小,I/O密集型运算,优先级提高

  • kill //通过进程号来杀死进程

  • killall 进程名称 // 通过进程名称杀死进程,也支持通配符 ===> -9 强迫进程立即停止

  • pstree //树状显示 ===>-p 显示PID -u 显示所属用户

  • service 服务名 [start|stop|restart|reload|status] //centos7.0以后,使用systemctl

    Eg: service iptable status

  • chkconfig --list | grep xxx

    chkconfig 服务名 --list

    chkconfig --level 5 服务名 on/off [设置后,需要reboot]

  • top // 类似于ps,但top可以更新正在运行的进程 ===> -d 秒数 // top每隔多久几秒更新,默认3s

    ===> -i 不显示闲置或僵尸进程 -p 通过指定监控进程ID来监视某进程状态

    • 交互操作:

    P 以CPU使用频率排序 M 以内存使用排序 N 以PID排序 q 退出

    top : ==> u ==> user_name 监视特定用户

    top : ==> k ==> ID number 杀死进程

  • netstat //网络状态 ===>-an 按顺序排序 -p 显示哪个进程在调用

软件安装
  • rpm // redhat package manager ===> -qa 查询安装的软件包 -q 软件包名 -qi 软件包信息

    ===> -ql 查询安装位置 -qf 查询所属rpm包

    ===> -e 卸载 rpm -e --nodeps 软件包 //强制删除

    ===>-ivh 安装 i install v verbose 提示 h hash 进度条

  • yum // 自动下载rpm包

    ===>yum list

    ===>yum install

SSH

ssh [-l login_name][-p port] [user@]hostname

你可能感兴趣的:(Linux学习笔记)