zoukankan      html  css  js  c++  java
  • linux备忘录-基本命令

    基本命令

    将命令分类为获取信息类,文件管理类,目录管理类,文本处理类,系统类,工具类。

    获取信息类

    1. uname
    # 输出所有信息
    # 一行输出,空格分割
    uname -a
    
    # 输出内核名称
    uname -s  # Linux
    
    # 输出网络节点主机名 nodename
    uname -n  # small-pc
    
    # 输出内核发行版本号
    uname -r  # 4.10.0-28-generic
    
    # 输出 发行版本信息
    uname -v  # .... Ubuntu ....
    
    # 输出硬件平台
    uname -i  # x86_64
    
    # 输出系统名称
    uname -o  # GNU/Linux
    
    
    1. printenv
    2. ls (列出文件和目录信息)

    ls- l 显示 权限 - 硬链接数 - 属主 - 属组 - 档案大小 - 档案最后被修改的时间 - 档案名

    目录的硬链接数 = 2 + 目录中的其他目录数 (2是指目录自己的引用即 . 及其上一层目录的引用)

    1. date (显示日期时间信息)

    格式化输出 date '+%Y-%m-%d %H:%M:%S'
    date +"%s" 获得1970年1月1号到今天的秒数
    date --date=20001225 +"%s" 对日期20001225进行操作,或得1970-01-01到2000-12-25的秒数

    1. cal (显示日历)
    2. man (获取命令的帮助)

    man -f man 查询与man有关的命令
    man -k man 根据man关键字查找

    1. whatis (man -f的简略写法)
    2. apropos (man -k的简略写法)
    3. who (查看在线用户)
    4. lsb_release (查看发布版本信息)
    5. which (查看执行程序的完整路径名)

    which -a 列出所有路径,不仅列出第一个

    1. whereis (搜寻文件路径)
    2. locate (寻找相关档案,通过/var/lib/mlocate/mlocate.db搜寻)

    系统类

    1. fsck (file system check)

    fsck /dev/sda7 如果硬盘/dev/sda7出现文件系统错误,可以通过fsck修复

    1. printenv (打印所有或部分环境变量)

    2. startx (启动X window,tty7必须没有其他窗口运行)

    3. exit (注销)

    4. shutdown (关机)

    shutdown -h now

    1. reboot (重启)
    2. sync (同步内存和硬盘数据)
    3. init (切换执行等级 run level)

    init 0 也可以关机

    1. passwd (修改密码)
    2. chgrp (修改组)

    chgrp groupName fileName

    1. chown (修改拥有者)

    chown ownerName fileName
    chown ownerName:groupName fileName

    1. chmod (修改权限)

    chmod 777 ~/bash.rc
    chmod u+x ~/bash.rc
    chmod 4755 同时修改SUID、SGID、SBIT

    1. umask (查看默认过滤属性,档案默认为666,目录默认为777)

    umask -S 以符号形式查看
    umask 002 修改umask为002

    1. chattr (修改隐藏属性,只在extx文件系统有效)

    chattr [+-=][ASacdistu] fileName or dirName
    A 存取时,atime不修改
    S 同步写入磁盘
    a 只能增加数据,对log有用
    c 自动压缩
    d 不被dump备份
    i 不能被删除、改名、设定链接、也不能写入和新增资料
    s 删除时完全移出硬盘
    u 删除时仍留在磁盘

    1. lsattr (查看隐藏属性,只在extx文件系统有效)
    2. su (改变用户)

    su - username 以登录方式改变用户

    1. updatedb (更新数据库,根据/etc/updatedb.conf配置文件更新/var/lib/mlocate/mlocate.db数据库)
    2. find (通过硬盘搜寻文件)

    find / -mtime -n 搜寻n天之内更改过的档案
    find / -mtime +n 搜寻n天之前更改过的档案
    find / -mtime n 搜村n天之前的那一个修改过的档案
    find / -newer file 列出比file还要新的档案
    find / -user username 搜寻指定user的档案
    find / -nouser 搜寻user不存在/etc/passwd的档案
    find / -nogroup 搜寻档案group不存在/etc/group的档案
    find / -name filename 根据档案名搜寻,可使用通配符
    find / -type s 根据档案类型搜寻
    find /bin /sbin -perm +6000 搜寻/bin和/sbin下具有SUID和SGID的档案
    find / -perm +7000 - exec ls -l {} ; 找到具有所有特殊权限的档案,并执行ls -l,{}为find找到的内容,; -exec的结束,因为;在bash具有特殊含义,所有利用****转义

    文件类

    1. touch (新建文件,修改档案时间)

    touch -a 修改atime
    touch -c 修改ctime
    touch -m 修改mtime

    1. cp (复制、建立软链接、硬链接)

    cp -a 一模一样地复制
    cp -u 新的才会被复制

    1. rm (删除)
    2. mv (移动或重命名)
    3. basename (取得文件名)
    4. dirname (得去目录名)
    5. file (查看文件类型)

    目录类

    1. mkdir (新建目录)

    mkdir -m 755 newdir 指定权限
    mkdir -p test1/test2/newdir 递归建立目录

    1. cd (切换目录)

    . 当前目录
    .. 上一层目录
    - 前一个工作目录
    ~ 家目录
    ~account account的家目录

    1. pwd (打印当前目录)

    pwd -P 打印软链接指向的真实位置

    1. rmdir (删除目录)

    rmdir -p 连同空目录一起删除

    1. file (查看目录类型)

    工具类

    1. bc (计算器)

    scale=3 设置小数点位数为3
    quit 离开

    1. lp (打印指令)
    2. nano (简单的文本编辑器)
    3. cat (查看所有文本内容,不可翻页)
    4. tac (从最后一行开始显示文本内容,不可翻页)
    5. nl (cat同时显示行号,不可翻页)
    6. more (查看文本,可翻页)
    7. less (与more类似,能往前翻页)
    8. head (读取文本前面部分)

    head -n 100 指定行数

    1. tail (读取文本后面部分)
    2. od (二进制形式读取文本)

    od -t c fileName 使用ascii字符输出

    知识点

    常用热键

    1. tab

    一下tab能进行命令补全和档案补全
    两下tab能列表可能的待选项

    1. [Ctrl] + c (中断目前程序)
    2. [Ctrl] + d (代表输入结束,类似于exit)

    硬件对应文件名

    1. /dev/hd[a-d] IDE接口硬盘
    2. /dev/sd[a-p] SCSI/SATA/USB对应硬盘.u盘
    3. /dev/fd[0-1] 软盘
    4. /dev/lp[0-2] 25针打印机
    5. /dev/usb/lp[0-15] usb打印机
    6. /dev/usb/mouse[0-15] usb鼠标
    7. /dev/cdrom 当前CDROM/DVDROM
    8. /dev/mouse 当前鼠标
    9. /dev/eth[0-n] 网络卡

    第一个扇区(sector)的512bytes分成446bytes的MBR开机管理程序和64bytes的分区表。

    主要分割(primary partition)和延伸分割(extended partition)最多有4个。延伸分割(extended partition)最多有一个,这是操作系统限制的。延伸分割不能进行格式化。

    开机管理程序可以安装在MBR或Boot Sector。通过spfdisk处理MBR,或通过linux救援模式处理MBR。使用spfdisk时,要把grub安装在boot sector。

    光驱可以挂载到 /media/cdrom点 或 /mnt点

    NAT是私有IP转公有IP。DHCP自动获取IP。

    启动流程 BIOS -> MBR -> boot loader -> 操作系统

    grub是一种开机管理程序(boot loader),安装在MBR或boot sector。

    RAIDLVM 是硬盘特殊的应用。

    grub 安装在hda 即为安装在MBR上

    笔记本安装有问题时可以在安装开始时提供核心参数 boot: linux nofb apm=off acpi=false pci=noacpi

    linux核心档案 /vmlinuz-2.6.18-128.el5

    SELinux工具 是linux的系统访问控制设定,用于权限控制

    kdump 将内存错误写入档案

    启动时进入 grub 输入single进入单人模式,输入passwd修改root密码

    文件可以分为 纯文本二进制数据格式文件

    分号 ; 连续指令下达

    环境变量

    1. LANG (系统语系,英文为en_US.UTF-8,繁体中文为zh_TW.UTF-8)
    2. PATH (命令搜寻路径)

    PATH = "$PATH":/root 将:/root添加值PATH

    man中数字含义

    通过 man 7 man 可以查看相关说明

    1 -> shell指定或可执行文件
    2 -> 系统呼叫或工具
    3 -> 函数和函数库,大部分为c函数
    4 -> 硬件档案,/dev下的档案
    5 -> 配置文件
    6 -> 游戏
    7 -> 协议
    8 -> 管理指令
    9 -> 内核文件

    文件系统

    1. ext2/ext3 ext3比ext2多了日志系统
    2. LVM
    3. software RAID 利用软件仿真出磁盘阵列
    4. swap 内存置换空间
    5. vfat 同时被linux和windows支持的文件系统

    目录文件

    /root
        /root/install.log   //安装过程的完整记录
        /root/anaconda-ks.cfg   //安装过程选择的安装选项
    /etc
        /etc/inittab    //设置开机参数,如默认的run level
        /etc/issue  //命令提示符的前两项提示,用户账号和主机名,欢迎页面信息
        /etc/man.config //man的配置,如man搜寻路径
        /etc/passwd //记录用户信息
        /etc/shadow //记录用户密码
        /etc/group  //记录组名
        /etc/sysconfig
        /etc/bashrc //bash启动预设值,如umask
        /etc/profile    //开机启动预设环境变量
            /etc/sysconfig/i18n //可修改系统默认语系和字体
        /etc/init.d //所有服务的预设启动脚本
        /etc/xinetd.d   //守护进程配置目录
    /usr    //与软件执行有关,unix software resource
        /usr/share
            /usr/share/man  //存放man文档
            /usr/share/doc  //存放说明文档
        /usr/bin    //用户指令
        /usr/include    //c和c++的一些头文件
        /usr/include    //c和c++的一些库文件
        /usr/src    //软件的源代码
    /home
        ~/.bashrc   //用户个人的bash启动预设值
    /var    //系统默认的数据暂存和缓存的地方,与系统运作有关
    /bin    //可执行程序,单人模式下也能操作
    /boot   //开机使用的档案,linux kernel常用档名为vmlinuz
    /dev    //硬件设备
    /lib    //系统的函数库
    /media  //媒体硬件
    /mnt    //用于暂时挂载额外设备
    /opt    //第三方软件
    /root   //root用户的家
    /sbin   //管理员程序
    /tmp    //临时文件
    /proc   //虚拟文件系统,在内存当中
    /sys    //虚拟文件系统,在内存当中
    
    

    /etc/bin/dev/lib/sbin 不能和根目录放在不同的分割槽中。

    网络相关

    192.168.1.100 一般是本地局域网中路由器自己的IP地址。

    系统相关

    1. run level (共有7个run level 可以通过/etc/inittab更改)

    run level 0 -> 关机状态
    run level 3 -> 只有tty1-tty6,即只有命令窗口
    run level 5 -> 具有tty1-tty7,既有命令窗口又有图形窗口。一般initdefault为5

    文件相关

    文件有三种时间:

    1. mtime 文件内容被修改的时间。
    2. ctime 文件元数据被修改的时间。
    3. atime 文件访问时间。

    SUID、SGID、SBIT

    1. s出现在拥有者的x权限上,称为Set UID。
      1.1 仅对二进制文件有效,执行者需要x可执行权限,只在执行程序过程中有效,执行过程中将具有owner权限。
      1.2 例如passwd程序对于/etc/passwd文件,执行passwd时就set uid
    2. s出现在群组的x权限上时,称为 Set GID。
      2.1 对于档案来说,对二进制文件有效,执行者需要x可执行权限,执行者在执行程序时将具有group的权限。
      2.2 对于目录来说,执行者具有r和x权限时,可以进入该目录,在该目录下时将具有group的权限,若执行者具有w权限,创建新档案时的群组与该群组相同
      2.3 在该目录新建档案,档案的群组为目录的群组,(共同开发时具有较大用处)
    3. SBIT Sticky Bit
      3.1 t出现在其他者的x权限上时,称为SBIT Sticky bit
      3.2 仅对目录有效,当执行者具有w和x权限时,可以进入此目录,在该目录下新建的档案,只有执行者和root可以删除。

    其他

    linux备忘录-文件系统管理
    linux备忘录-档案与文件系统的压缩与打包
    linux备忘录-vi和vim
    linux备忘录-bash
    linux备忘录-正则表达式与文件格式化处理
    linux备忘录-shell脚本
    linux备忘录-账号管理与ACL权限设定
    liniux备忘录-磁盘配额与进阶文件系统管理
    linux备忘录-例行性工作排程 (crontab)
    linux备忘录-程序管理与SELinux
    linux备忘录-系统服务daemon
    linux备忘录-日志档案

    参考

    鸟哥的linux私房菜 第三版

  • 相关阅读:
    Java 对象的封装,继承,抽象,接口写法
    python 3.7 方向键乱码
    yocto doc
    为什么要使用yocto
    ltp-ddt的makefile结构
    Git 常用命令列表
    Makefile依赖关系中的竖线“|”
    makefile 双冒号规则
    ltp makefile 解析
    makefile 变量展开
  • 原文地址:https://www.cnblogs.com/smallpi/p/7284650.html
Copyright © 2011-2022 走看看