基本命令
将命令分类为获取信息类,文件管理类,目录管理类,文本处理类,系统类,工具类。
获取信息类
- 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
- printenv
ls (列出文件和目录信息)
ls- l 显示 权限 - 硬链接数 - 属主 - 属组 - 档案大小 - 档案最后被修改的时间 - 档案名
目录的硬链接数 = 2 + 目录中的其他目录数 (2是指目录自己的引用即 . 及其上一层目录的引用)
date (显示日期时间信息)
格式化输出 date '+%Y-%m-%d %H:%M:%S'
date +"%s" 获得1970年1月1号到今天的秒数
date --date=20001225 +"%s" 对日期20001225进行操作,或得1970-01-01到2000-12-25的秒数- cal (显示日历)
man (获取命令的帮助)
man -f man 查询与man有关的命令
man -k man 根据man关键字查找- whatis (man -f的简略写法)
- apropos (man -k的简略写法)
- who (查看在线用户)
- lsb_release (查看发布版本信息)
which (查看执行程序的完整路径名)
which -a 列出所有路径,不仅列出第一个
- whereis (搜寻文件路径)
locate (寻找相关档案,通过/var/lib/mlocate/mlocate.db搜寻)
系统类
fsck (file system check)
fsck /dev/sda7 如果硬盘/dev/sda7出现文件系统错误,可以通过fsck修复
printenv (打印所有或部分环境变量)
startx (启动X window,tty7必须没有其他窗口运行)
- exit (注销)
shutdown (关机)
shutdown -h now
- reboot (重启)
- sync (同步内存和硬盘数据)
init (切换执行等级 run level)
init 0 也可以关机
- passwd (修改密码)
chgrp (修改组)
chgrp groupName fileName
chown (修改拥有者)
chown ownerName fileName
chown ownerName:groupName fileNamechmod (修改权限)
chmod 777 ~/bash.rc
chmod u+x ~/bash.rc
chmod 4755 同时修改SUID、SGID、SBITumask (查看默认过滤属性,档案默认为666,目录默认为777)
umask -S 以符号形式查看
umask 002 修改umask为002chattr (修改隐藏属性,只在extx文件系统有效)
chattr [+-=][ASacdistu] fileName or dirName
A 存取时,atime不修改
S 同步写入磁盘
a 只能增加数据,对log有用
c 自动压缩
d 不被dump备份
i 不能被删除、改名、设定链接、也不能写入和新增资料
s 删除时完全移出硬盘
u 删除时仍留在磁盘- lsattr (查看隐藏属性,只在extx文件系统有效)
su (改变用户)
su - username 以登录方式改变用户
- updatedb (更新数据库,根据/etc/updatedb.conf配置文件更新/var/lib/mlocate/mlocate.db数据库)
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具有特殊含义,所有利用****转义
文件类
touch (新建文件,修改档案时间)
touch -a 修改atime
touch -c 修改ctime
touch -m 修改mtimecp (复制、建立软链接、硬链接)
cp -a 一模一样地复制
cp -u 新的才会被复制- rm (删除)
- mv (移动或重命名)
- basename (取得文件名)
- dirname (得去目录名)
file (查看文件类型)
目录类
mkdir (新建目录)
mkdir -m 755 newdir 指定权限
mkdir -p test1/test2/newdir 递归建立目录cd (切换目录)
. 当前目录
.. 上一层目录
- 前一个工作目录
~ 家目录
~account account的家目录pwd (打印当前目录)
pwd -P 打印软链接指向的真实位置
rmdir (删除目录)
rmdir -p 连同空目录一起删除
file (查看目录类型)
工具类
bc (计算器)
scale=3 设置小数点位数为3
quit 离开- lp (打印指令)
- nano (简单的文本编辑器)
- cat (查看所有文本内容,不可翻页)
- tac (从最后一行开始显示文本内容,不可翻页)
- nl (cat同时显示行号,不可翻页)
- more (查看文本,可翻页)
- less (与more类似,能往前翻页)
head (读取文本前面部分)
head -n 100 指定行数
- tail (读取文本后面部分)
od (二进制形式读取文本)
od -t c fileName 使用ascii字符输出
知识点
常用热键
tab
一下tab能进行命令补全和档案补全
两下tab能列表可能的待选项- [Ctrl] + c (中断目前程序)
[Ctrl] + d (代表输入结束,类似于exit)
硬件对应文件名
- /dev/hd[a-d] IDE接口硬盘
- /dev/sd[a-p] SCSI/SATA/USB对应硬盘.u盘
- /dev/fd[0-1] 软盘
- /dev/lp[0-2] 25针打印机
- /dev/usb/lp[0-15] usb打印机
- /dev/usb/mouse[0-15] usb鼠标
- /dev/cdrom 当前CDROM/DVDROM
- /dev/mouse 当前鼠标
- /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。
RAID 和 LVM 是硬盘特殊的应用。
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密码
文件可以分为 纯文本、二进制 和 数据格式文件
分号 ; 连续指令下达
环境变量
- LANG (系统语系,英文为en_US.UTF-8,繁体中文为zh_TW.UTF-8)
- PATH (命令搜寻路径)
PATH = "$PATH":/root 将:/root添加值PATH
man中数字含义
通过 man 7 man 可以查看相关说明
1 -> shell指定或可执行文件
2 -> 系统呼叫或工具
3 -> 函数和函数库,大部分为c函数
4 -> 硬件档案,/dev下的档案
5 -> 配置文件
6 -> 游戏
7 -> 协议
8 -> 管理指令
9 -> 内核文件
文件系统
- ext2/ext3 ext3比ext2多了日志系统
- LVM
- software RAID 利用软件仿真出磁盘阵列
- swap 内存置换空间
- 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地址。
系统相关
run level (共有7个run level 可以通过/etc/inittab更改)
run level 0 -> 关机状态
run level 3 -> 只有tty1-tty6,即只有命令窗口
run level 5 -> 具有tty1-tty7,既有命令窗口又有图形窗口。一般initdefault为5
文件相关
文件有三种时间:
- mtime 文件内容被修改的时间。
- ctime 文件元数据被修改的时间。
- atime 文件访问时间。
SUID、SGID、SBIT
- s出现在拥有者的x权限上,称为Set UID。
1.1 仅对二进制文件有效,执行者需要x可执行权限,只在执行程序过程中有效,执行过程中将具有owner权限。
1.2 例如passwd程序对于/etc/passwd文件,执行passwd时就set uid- s出现在群组的x权限上时,称为 Set GID。
2.1 对于档案来说,对二进制文件有效,执行者需要x可执行权限,执行者在执行程序时将具有group的权限。
2.2 对于目录来说,执行者具有r和x权限时,可以进入该目录,在该目录下时将具有group的权限,若执行者具有w权限,创建新档案时的群组与该群组相同
2.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私房菜 第三版