基本命令

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

获取信息类

  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私房菜 第三版

linux备忘录-基本命令的更多相关文章

  1. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  2. 第四周博客之一---Linux的基本命令(前5个)

    一.Linux的系统结构 "/"根目录部分有以下子目录: 1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用. 2./boot:用于自举加载程序(LILO ...

  3. Linux 的基本命令

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E……盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  4. Linux常用基本命令(less)

    转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...

  5. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  6. Linux操作系统-基本命令(二)

    Linux操作系统基本命令 文件操作类命令 – ln命令 另外一种链接方式称为符号链接(软链接),是指一个文件指向另外一个文件的文件名.软链接类似于Windows系统中的快捷方式.软链接由ln -s命 ...

  7. Linux文件基本命令

    Linux文件基本命令学习 操作技巧: 输入文件/目录/命令的前几个字母之后,按下tab键,则自动补全 按上/下,回滚曾经用过的命令 不想执行命令使用:crtl + c 基础命令: ls(查看) 基础 ...

  8. linux基础-基本命令的讲解(1-7单元)

    基本命令的讲解 主要内容介绍 1.LINUX操作系统安装及初始化配置(熟悉):2.LINUX操作系统目录组成结构及文件级增删改查操作(重点):3.LINUX操作系统用户.权限管理(重点):4.开源软件 ...

  9. 【Linux】linux常用基本命令(转)

    (转自:http://blog.csdn.net/xiaoguaihai/article/details/8705992) Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用 ...

随机推荐

  1. 用js给元素加css

    1.如果是没有CSS文件,或者要修改的不在CSS文件里,那么: document.getElementById('DIV标签的ID').style.属性='属性值'; 这样就可以了.2.如果,样式是写 ...

  2. 第9章 初识HAL固件库

    本章参考资料:<STM32F76xxx参考手册>.<STM32F7xx规格书>.<Cortex-M3权威指南>, STM32 HAL库帮助文档:<STM32F ...

  3. Map the Debris -freecodecamp算法题目

    Map the Debris 1.要求 返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: ...

  4. Delphi 编写DLL动态链接库文件的知识

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

  5. 【赛时总结】 ◇赛时·III◇ AtCoder ABC-099

    ◆赛时·III◆ ABC-099 ■唠叨■ 不要问我为什么先给ABC-100写了博客再写的ABC-099-- 莫名觉得这次比赛特别简单--虽然我并没有参加比赛,只是之后再补做的.QwQ ■试题& ...

  6. Linux添加swap分区

    swap分区的作用为当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用,那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到S ...

  7. js | javascript中获取dom元素的高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  8. js常用的2中排序方法:冒泡排序和快速排序

    冒泡排序:例如9 4 5 6 8 3 2 7 10 1 首先:9和4比较  4放前   4 9 5 6 8 3 2 7 10 1 4和5比较   4不动   4 9 5 6 8 3 2 7 10 1 ...

  9. java基础不牢固容易踩的坑

    java基础不牢固容易踩的坑 经过一年java后端代码以及对jdk源码阅读之后的总结,对java中一些基础中的容易忽略的东西写下来,给偏爱技术热爱开源的Coder们分享一下,避免在写代码中误入雷区. ...

  10. JZOJ| 5910. DuLiu

    Description          LF是毒瘤出题人中AK IOI2019,不屑于参加NOI的唯一的人.他对人说话,总是满口垃圾题目者也,教人半懂不懂的.因为他姓李,别人便从QQ群上的“毒瘤李F ...