Linux学习笔记
Linux学习笔记
本博客基于兄弟连Linux教程
基本内容
Linux目录
与命令相关
Linux中的命令同样以文件形式存在,二进制可执行文件即是命令
/bin/ : 存放系统命令,所有用户均可执行
/sbin/ :保存和系统环境设置相关的命令,仅root用户可执行
/usr/bin/ :存放系统命令,单用户模式不可执行
/usr/sbin/ :存放根文件系统不必要的系统管理命令
挂载目录
- /media/ :挂载媒体设备
- /mnt/ :挂载额外设备。u盘等(用的比较多)
- /misc/ :挂载NFS服务的共享目录
虚拟文件系统
- /proc/ :保存系统的内核、进程,外部设备状态和网络状态灯
- /sys/ :保存内核相关信息
- 它们均保存在内存中,关机会消失
其他
- /boot/ :系统启动目录,保存系统启动相关文件
- /dev/ :保存硬件文件
- /etc/ :保存配置文件
- /home/ :普通用户的家目录,默认登录位置。eg: helandou的家目录是/home/helandou。注:管理员的是/root
- /lib/ :系统调用的函数库保存位置
- /lost+found/ :存放系统意外崩溃或关机时产生的文件碎片,每个分区中均有
- /opt/ :第三方安装的软件位置,更常用的是保存在/usr/local
- /root/ :超级用户家目录
- /srv/ :服务数据
- /tmp/ :临时文件
- /usr/ :系统软件资源目录
- /var/:动态数据保存位置(日志等)
用户组
所有者:一般是创建人,只能有一个,可以变更
所属组:一组相同类型的用户,授权其有相同权限
其他人:其他
eg:-rw-r–r–
第一位:文件类型 (- 二进制文件 d 目录 l 软连接文件)
之后的每三位:对应权限
u所有者 g所属组 o其他人
r读 w写 x执行(要运行它的时候才需要)
Linux常用命令
文件处理命令
ls
英文原意:list
所在路径:/bin/ls
执行权限:所有用户
功能:显示目录文件
语法:ls [选项] [文件或目录]
-a all,显示所有文件,包括隐藏文件(.开头的是隐藏文件)
-l long,详细信息显示(执行权限 引用计数 所有者 所属组 文件大小单位字节 文件最后修改事件 文 件名
-d 查看目录属性
-h human
-i 查看i结点
mkdir
英文原意:make directories(名录)
所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建新目录
语法: mkdir [选项] [目录名]
-p 递归创建,在不存在的目录创建子目录时使用,可以一块创建
cd
英文原意:change directory
所在路径:shell内置
执行权限:所有用户
功能描述:切换目录
语法: cd [目录]
. :当前目录
.. :当前目录的上一级
pwd
英文原意:print working directory
所在路径:/bin/pwd
执行权限:所有用户
功能描述:显示当前目录
语法: pwd
rmdir
英文原意:remove empty directories
所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除空目录
语法: rmdir [目录名]
cp
英文原意:copy
所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录(可以改名,复制到新目录即可)
语法: cp [原文件或目录(可复制多个)] [目标目录]
-r 复制目录
-p 保留文件属性(保留原本文件的最后修改时间)
mv
英文原意:move
所在路径:/bin/mv
执行权限:所有用户
功能描述:剪切文件、改名(在当前目录移动,目标目录即为新文件名)
语法:mv [原文件或目录] [目标目录]
rm
英文原意:remove
所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件
语法: rm [选项] [文件或目录]
-r 删除目录
-f 强制执行
touch
所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件(文件名带空格会创建两个文件,想带空格的话加双引号)
语法: touch [文件名(可以带上绝对路径)]
cat
所在路径:/bin/cat
执行权限:所有用户
功能描述:显示文件内容
语法: cat [文件名(可以带上绝对路径)]
-n 加行号
tac
所在路径:/bin/tac
执行权限:所有用户
功能描述:显示文件内容(反向显示)
语法: tac [文件名(可以带上绝对路径)]
more
所在路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件内容
空格/f:翻页
回车:换行
q/Q:退出
语法: more [文件名(可以带上绝对路径)]
less
所在路径:/bin/less
执行权限:所有用户
功能描述:分页显示文件内容(可以向上翻页以及查找)
空格/f:向下翻页
pageup:向上翻页
上箭头:向上翻一行
回车:换行
q/Q:退出
/ + 内容:搜索(按n继续查找)
语法: less [文件名(可以带上绝对路径)]
head
所在路径:/usr/bin/head
执行权限:所有用户
功能描述:显示文件前面几行
语法: head [选项] [文件名]
-n 指定行数(默认前10行)
tail
所在路径:/usr/bin/tail
执行权限:所有用户
功能描述:显示文件最后几行
语法: head [选项] [文件名]
-n 指定行数(默认后10行)
-f 动态显示文件末尾内容(文件内容变化的时候输出内容也会实时变化)
ln
英文原意:link
所在路径:/bin/ln
执行权限:所有用户
功能:生成链接文件
语法:ln [选项] [原文件] [目标文件]
-s 创建软链接
软链接:类似Windows的快捷方式,直接执行软连接,它的权限不等于原文件的权限,所以所有软链接是lrwxrwxrwx。它仅仅是一个符号链接。
硬链接:除位置外与原文件完全相同,与cp -p 的区别在于它可以同步更新,它的i结点与原文件相同。删掉原文件后仍然存在。不可以跨分区(eg:root到boot),不可以链接目录。
权限管理命令
chmod
英文原意:change the permissions mode of a file
所在路径:/bin/chmod
执行权限:所有用户(所有者或管理员可以更改)
功能:改变文件或目录权限
语法:
- chmod [{ugoa}{+-=}{rwx}] [文件或目录] :a指所有人,=指不管原来是什么,都改为后面的,可同时进行多个更改,用逗号间隔不同用户组即可
- chmod [权限数字] [文件或目录]:r=4,w=2,x=1 所以rwxrw-r– = 764
- -R 递归修改,改变目录的同时将其中的所有文件,子目录都一起改掉
权限类型 | 对文件的含义 | 对目录的含义 | |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容(无法删除文件,要对文件所在目录有写权限) | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
chown
英文原意:change file ownership
所在路径:/bin/chown
执行权限:所有用户(只有管理员可以改)
功能:改变文件或目录所有者
语法:chown [要变成所有者的用户(该用户必须存在)] [文件或目录]
chgrp
英文原意:change file group ownership
所在路径:/bin/chown
执行权限:所有用户(只有管理员可以改)
功能:改变文件或目录所属组
语法:chgrp [要变成所属组的组(该用户必须存在)] [文件或目录]
文件的所有者:创建它的人
文件的所属组:一个用户可以属于多个组,但它只有一个缺省组,文件的所属组即为创建者的缺省组
umask
英文原意:the user file-creation mask
所在路径:Shell内置命令
执行权限:所有用户
功能:显示、设置文件的缺省权限
语法:umask [选项]
-S 以rwx形式显示新建文件缺省权限(缺省创建的文件不具有可执行权限,所以touch的结果会与umask有不同)
不加-S时 -> 0022
第一个0:一种特殊权限
后三个数:与777通过逻辑异或获得真正权限
777 rwx rwx rwx 022 — -w- -w- 结果 rwx r-x r-x 若要更改缺省权限,要反算出来后三位数,然后umask 后三位即可(不推荐)
文件搜索命令
find
所在路径:/bin/find
执行权限:所有用户
功能:文件搜索
语法:find [搜索范围(eg:在根目录搜索 /)] [匹配条件]
-name 根据文件名搜索(精准搜索)
若模糊搜索:加通配符* ->匹配任意字符,任意长度
加通配符?->匹配单个字符
-iname 不区分大小写
-size 根据文件大小查找
+n 大于 -n小于 n等于
单位为数据块,一个数据块为0.5k
-user 根据所有者查找
-group 根据所属组查找
-amin 根据访问时间查找
-cmin 根据文件属性更改时间查找(ls看到的那些)
-mmin 根据文件内容更改时间查找
+/-/不加与大小类似 单位分钟
-type 根据文件类型查找
f 文件 d 目录 l 软链接
-inum 根据i结点查找
-a 两个条件同时满足
-o 两个条件满足任意一个即可
-exec/-ok 命令 {} ;
链接一个操作,对搜索结果执行
-ok 会有询问确认的环节
locate
所在路径:/usr/bin/locate
执行权限:所有用户
功能:在文件资料库中查找文件(文件资料库定期更新,新创建的文件可能找不到)
语法:locate 文件名
-i 不区分大小写
updatedb : 更新资料库,/tmp不在收录范围
which
所在路径:/usr/bin/which
执行权限:所有用户
功能:搜索命令所在目录及别名信息
语法:which 命令
whereis
所在路径:/usr/bin/whereis
执行权限:所有用户
功能:搜索命令所在目录及帮助文档路径
语法:whereis 命令
grep
所在路径:/bin/grep
执行权限:所有用户
功能:在文件中搜寻字串匹配的行并输出
语法:grep [选项] [指定字串] [文件]
-i 不区分大小写
-v 排除指定字串 eg:^# 排除所有以#开头的行
帮助命令
man(与info类似)
英文原意:manual
所在路径:/usr/bin/man
执行权限:所有用户
功能:获得帮助信息
语法:man [命令或配置文件(不能加绝对路径,只加名字即可)]
类似less,空格/f翻页,/+内容搜索
whatis [命令名称] :查看命令简短信息
apropos [配置文件名称] :查看配置文件简短信息
–help 加在对应命令后,获得该命令主要选项
help
英文原意:help
所在路径:Shell内置命令(Shell是命令解释器,其内置命令找不到路径)
执行权限:所有用户
功能:获得Shell内置命令的帮助信息
语法:help [命令名称]
用户管理命令
useradd
所在路径:/usr/sbin/useradd
执行权限:root
功能:添加新用户
语法:useradd [用户名]
passwd
所在路径:/usr/bin/passwd
执行权限:所有用户(普通用户只能更改自己的密码,root都可以改)
功能:设置用户密码
语法:passwd [用户名]
who
所在路径:/usr/bin/who
执行权限:所有用户
功能:查看登录用户信息
语法:who
登录用户名-登录终端(tty:本地终端,pts:远程终端)-登录时间及ip地址
压缩解压命令
gzip
所在路径:/bin/gzip
执行权限:所有用户
功能:压缩文件,无法压缩目录,不保留原文件
语法:gzip [文件]
-d 解压缩
压缩后格式:.gz
gunzip
所在路径:/bin/gunzip
执行权限:所有用户
功能:解压缩.gz文件
语法:gunzip [文件]
tar
所在路径:/bin/tar
执行权限:所有用户
功能:打包目录
语法:tar [选项] [压缩后文件名,通常会加.tar作为标记] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
-j 打包并同时压缩为bzip2
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
-j 解压缩bzip2
压缩后格式:.tar.gz
zip
所在路径:/usr/bin/zip
执行权限:所有用户
功能:压缩文件或目录,可以保留原文件
语法:zip [选项] [压缩后文件名] [文件或目录]
-r 压缩目录
压缩后格式:.zip
unzip
所在路径:/usr/bin/unzip
执行权限:所有用户
功能:解压.zip的压缩文件
语法:unzip [压缩文件或目录]
bzip2
所在路径:/usr/bin/bzip2
执行权限:所有用户
功能:压缩文件,压缩比很惊人
语法:bzip2 [选项] [文件]
-k 产生压缩文件后保留原文件
压缩后格式:bz2
bunzip2
所在路径:/usr/bin/bunzip2
执行权限:所有用户
功能:解压bzip2
语法:bunzip2 [选项] [文件]
-k 解压后保留原文件
网络命令
write
所在路径:/usr/bin/write
执行权限:所有用户
功能:给用户发信息,以Ctrl+D保存,写错的话用delete删
语法:write [用户名(要求在线)]
wall
英文原意:write all
所在路径:/usr/bin/wall
执行权限:所有用户
功能:发广播信息
语法:wall [信息]
ping
所在路径:/bin/ping
执行权限:所有用户
功能:测试网络连通性
语法:ping [选项] [IP地址]
-c 指定发送次数
ifconfig
英文原意:interface configure
所在路径:/sbin/ifconfig
执行权限:root
功能:查看和设置网卡信息
语法:ifconfig [网卡名称] [IP地址] (什么都不加的话是查看)
网络类型、网卡物理地址mac、IP地址、接收发送数据包总数量总大小
所在路径:/bin/mail
执行权限:所有用户
功能:查看发送电子邮件
语法:mail [用户名(无需用户在线)]
不加用户名为查看自己收到的信
序列号 查看该邮件
-h 看总列表
-d 删除
-q 退出
last
所在路径:/usr/bin/last
执行权限:所有用户
功能:列出目前与过去登入系统的用户信息,重启信息
语法:last
lastlog
所在路径:/usr/bin/lastlog
执行权限:所有用户
功能:检查某特定用户的上次登录时间
语法:lastlog [选项]
-u uid 仅查看对应uid用户
traceroute
所在路径:/bin/traceroute
执行权限:所有用户
功能:显示数据包到主机间的路径
语法:traceroute
netstat
所在路径:/bin/netstat
执行权限:所有用户
功能:显示网络相关信息
语法:netstat [选项]
-t TCP协议,类似打电话,面向连接
-u UDP协议,类似发短信
-l 监听,UDP没有
-r 路由
-n 显示IP地址和端口号
-a 查看所有,可以看到正在连接的
-tlun 查看本机监听的端口
-an 查看本机所有的网络连接
-rn 查看本机路由表
setup(仅RedHat有)
所在路径:/usr/bin/setup
执行权限:root
功能:配置网络
语法:setup
mount
所在路径:/bin/mount
执行权限:所有用户
功能:将设备连接到所分配的挂载点
语法:mount [选项] [设备文件名,就叫/dev/sr0] [挂载点]
-t 文件系统
关机重启命令
shutdown
语法: shutdown [选项] [时间(now,或者具体某一时间)]
-c:取消前一个关机命令
-h:关机
-r:重启
功能:关机重启
会保存正在启动的服务和数据
其他关机命令:halt,poweroff,init 0
其他重启命令:reboot,init 6
系统运行级别 0 1 2 3 4 5 6 含义 关机 单用户(类似安全模式,仅启动最小核心程序,root登入) 不完全多用户,不含NFS服务(Linux间文件共享服务,有安全隐患) 完全多用户(完全命令行) 未分配 图形界面 重启 cat /etc/inittab 可以查询到系统运行级别的解释
runlevel 查询系统运行级别,N为空(NULL)
logout
功能:退出登录
语法:logout
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!