Linux系统基本操作

UNIX之父:Dennis Ritchie(Dennis MacAlistair Ritchie 丹尼斯·麦卡利斯泰尔·里奇)
C语言之父:Dennis Ritchie(Dennis MacAlistair Ritchie 丹尼斯·麦卡利斯泰尔·里奇)
Linux之父:Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)
C++之父:Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)
安卓之父:Andy Rubin(安迪·鲁宾)

1、命令解析器

  • shell — Unix操作系统
  • bash — Linux操作系统

2、Linux 常用命令

  • history — 查看历史命令;Ctrl+P、Ctrl+N前后切换,光标键的上下能达到同样的效果,
  • 快捷键:Ctrl+B(前一个) Ctrl+F(后一个) Ctrl+A(行首) Ctrl+E(行尾) Ctrl+H(删除前) Ctrl+D(删除后) Ctrl+U(删除前面所有)
  • ls查看文件列出文件的主要类型:-普通文件、d目录、l链接符号、b块设备、c字符设备、s socket文件、p管道
  • mkdir :创建目录,如果多重目录一次性创建,加递归参数-p
  • cp :拷贝,如果是文件直接使用cp,如果是目录加-r递归

3、主要目录

  • /bin : 常用命令
  • /boot : 核心文件,包含镜像等,影响开机启动;
  • /dev : 外部设备,访问外部设备以文件的方式交互;
  • /etc : 系统管理所需要的配置文件和子目录;
  • /home : 用户主目录
  • /lib : 系统最基本的动态连接共享库,类似Widows下的dll文件;
  • /lost+found : 一般情况下是空的,系统非法关机,可能会生成一些文件;
  • /media : Liunx系统自动识别的一些设备,例如U盘等,会自动挂载在这个目录下;
  • /mnt : 系统提供该目录让用户临时挂载另的文件系统
  • /opt : 额外安装软件所摆放的目录,默认是空的;
  • /proc : 虚拟文件系统,系统内存的映射,该目录的内容不在硬盘上而在内存中;
  • /root : 超级权限主目录
  • /sbin : 系统管理员的系统程序
  • /selinux : Redhat/CentOS特有的目录,Selinux是一种安全机制,类似防火墙
  • /srv : 服务启动之后需要提取的数据
  • /sys :

4、文件查看的几条命令

  • more 一次查看较多
  • less 一次查看较少内容
  • head 查看头部少量内容
  • tail 查看尾部少量内容
  • cat 查看所有内容
  • Ctrl+B往前翻页,Ctrl+F往后翻页

5、文件链接

  • 软链接 :类似快捷方式,ln -s source link,软链接一般使用绝对路径
  • 硬链接 :多个指针指向同一个对象 ln source link,硬链接不占用磁盘空间,多个硬链接指向同一个文件,编辑修改同时生效;指向的都是inode(i结点)

6、文件|目录属性

  • wc :word count,字数统计,输出四个数值分别为:行数、字数、字符数 文件名
  • od : 查看二进制文件
  • du :查看文件大小 -h
  • df :查看磁盘使用情况
  • which :查看命令所在位置
  • whoami :查看当前用户
  • chmod :修改权限
    • a 全部
    • u 所有者
    • g 用户组
    • o 其他人
    • +r/-r 添加读/删除读
    • +w/-w 添加写/删除写
    • +x/-x 添加执行/删除执行
    • = 赋值,该操作是全量操作,=w则表示只有写的权限
    • chmod u+w xxxx 表示对xxx文件的所有者添加写的权限
  • find :查找
    • 根据文件名查找 find ~ -name “xxx”、find ~ -name “x?x”、find ~ -name “x*”
    • 根据文件大小查找 find ~ -size +10k、find / -size -10M、find / -size +10k -size -1M
    • 根据文件类型查找 find ~ -type p
  • grep :文件检索,根据内容查找所有文件,grep -r “xxx” ~,在home目录及子目录下查找包含xxx的文件
  • mkfifo :新建一个管道,类似mkdir新建一个文件夹

7、软件安装与卸载

  • 在线安装
    • sudo apt-get update // 更新软件列表
    • sudo apt-get install xxxxx // 安装xxx软件
    • sudo apt-get remove xxxx // 卸载xxx软件
    • sudo apt-get clean // 清除本地安装包(/var/cache/apt/archives目录下的.deb包)
    • 类似的工具还有aptitude,用法与apt-get完全类似
  • deb包安装
    • 安装:sudo dpkg -i xxx.deb
    • 卸载:sudo dpkg -r xxxx
  • 源码安装
    • 解压源代码
    • 检测文件是否完整,创建Makefile,一般执行./configure
    • 编译源码,生成库和可执行文件:make命令
    • 把库和可执行文件安装到系统:sudo make install
    • 删除和卸载:sudo make distclean
    • 以README文件为准

8、磁盘挂载

  • 查看磁盘:sudo fdisk -l 查看存储及磁盘
  • mount、umount命令,分别为挂载与卸载
  • 挂载:外部设备挂载到mnt目录下,如:sudo mount /dev/sdb1 /mnt/usb
  • 卸载:sudo umount /mnt/usb
  • 磁盘设备种类
    • sd —> SCSI Device
    • sda —> 第一块sd设备
      • sda1 —> 第一个分区(主分区1-4)
      • sda5 —> 第一个扩展分区
    • sdb —> 第二块sd设备
    • hd —> Hard Disk 硬盘
    • fd —> Floppy Disk 软盘

9、压缩包管理

  • gzip :gzip xxx.xx —> xxx.xxx.gz,源文件被压缩,无法保留 gunzip 解压缩
  • bzip2 :bzip2 xxx.xxx -> xxx.xxx.bz2,-k 保留源文件 bunzip2 解压缩
  • tar :打包工具,不加-z或-j,不压缩
    • c 创建
    • x 释放
    • v 显示信息
    • f 指定文件名
    • z 使用gzip方式压缩
    • j 使用bzip2方式压缩
    • 压缩:tar zcvf xxx.tar.gz xxxxxx、tar jcvf xxx.tar.bz2 xxxxxx
    • 解压:tar zxvf xxx.gz -C xxxx、tar jxvf xxxx.tar.bz2 -C xxxx
  • rar :需要先安装rar软件,压缩:rar a xxx [文件或目录]、解压:rar x xxx.rar [目录]
  • zip :压缩zip -r xxx.zip [文件或目录]、解压:unzip xxx.zip -d [目录]
  • 总结:tar、rar、zip三者语法基本一致,压缩:tar/rar/zip [参数] [文件名] [目标]、解压缩:tar/rar/unzip [压缩包] [参数] [目标目录]

10、进程管理

  • ps命令:
    • a —> 当前终端下的所有程序
    • u —> 以用户为主的排序显示
    • x —> 所有终端
    • | —> 配合管道进行筛选,管理的作用是将结果输出做为后面的输入,如ps aux | grep bash,意思是在所有进程中检索包含bash的部分
  • kill
    • kill -l 显示所有信号:1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
    • 如果是结束单个进程,使用kill -SIGKILL [PID],或者kill -9 [PID];
  • env :环境变量
    • env | grep PATH,查看当前环境变量中的所有path
  • top :任务管理器
  • ulimit:-a 显示目前资源限制的设定

11、网络相关命令

  • ifoconfig:需要安装net-tools,该命令才支持使用
  • ping :ping 127.0.0.1 -c 4,表示只ping4个包
  • nslookup :域名解析 nslookup www.yusian.com

12、用户相关

  • 添加用户:
    • sudo adduser xxxx,自动创建用户及用户名相同的组,不支持大写
    • sudo useradd -s /bin/bash -g Group -d /home/xxxx -m xxxx,
    • -s(用户登录终端的类型),
    • -g(指定用户所属组),
    • -d(用户登录时的主目录),
    • -m 自动创建主目录名
  • 编辑用户:
    • sudo usermod xxx -s /bin/bash -g …..
  • 删除用户:
    • sudo deluser xxx ,不会删除用户主目录
    • sudo userdel -r xxxx
    • -r(将用户主目录一起删除)
  • 添加组:
    • sudo groupadd xxxx
  • 设置密码
    • sudo passwd xxxx
  • 切换用户:su xxxx
  • 显示当前用户:whoami
  • 查看所有用户:cat /etc/passwd
  • 查看用户密码:cat /etc/shadow
  • 查看所组信息:cat /etc/group
  • 修改用户登录名:
    • sudo usermod xxx -l newxxx
  • 修改用户登录目录:
    • sudo usermod xxx -d /home/newxxx
  • 修改用户主目录
    • sudo usermod xxx -md /home/newxxx

13、7种基本文件类型

  • - 文件
  • d 目录
  • l 符号链接
  • s 套接字
  • b 块设备
  • c 字符设备
  • p 管道

Leave a Reply