日常积累--Linux基础知识
Linux目录结构
启动目录 /boot
配置文件 /etc
临时文件 /tmp
用户目录 /home
库文件 /lib
可执行文件以及常用的linux命令 /bin
系统管理员的常用命令和工具 /sbin
应用程序和文件的安装地 /usr
root账户的home目录 /root
存放linux系统下的设备文件 /dev
vi编辑器的使用
vi filename 命令模式
i/a 编辑模式
ESC 编辑模式->命令模式
:w 保存文件
:wq 保存并退出
:wq! 保存并强制退出
:q 退出
:q! 强制退出
dd 删除一行文字
x 删除一个字符
:n 光标移至文本第n行
$ 光标移至文本行尾
G 光标移至文本末尾
/asd 查找某个字符串asd
Linux管理文件和目录的命令:
pwd 打印用户当前所处的路径 //print work directory
cd 切换路径 //change directory
ls 参数 目录或文件 显示指定目录下的内容 //list files
参数:
-a 列举目录中的全部文件,包括隐藏文件 -l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 -r 逆向,从后向前地列举目录中的内容 -R 递归,该选项递归地列举当前目录下所有子目录内的内容 -s size,数据块大小
cat 文本文件名字 显示文本内容
touch 文本文件名字 创建文本(不能插入文本)
grep 字符串 文件名 在文件中查找一个特定的字符串(区分大小写)
cp 参数 源文件 目标文件 复制文件
参数:
-i 互动:若选择的文件会覆盖目标中的文件,会提示确认 -f 强制:不提示 -v 详细
mkdir 目录名1 目录名2 ... 创建目录
mkdir -p 目录1/目录2/目录3... 创建嵌套目录
rmdir 目录名1 目录名2 ... 删除目录(删除的是空目录)
rmdir -p 目录1/目录2/目录3... 删除嵌套目录
rm 参数 文件名 删除文件
参数:
-i 互动:若选择的文件会覆盖目标中的文件,会提示确认 -f 强制:不提示 -v 显示文件删除进度 -r 将删除某个目录以及其中所有的文件和子目录
man 命令 用来查询和解释一个命令的使用方法和这个命令的注意事项
locate 文件或者目录名字 定位文件和目录
bzip2 filename 压缩文件filename,并保存为filename.bz2(只能压缩文件)
bunzip2 filename.bz2 解压缩文件filename.bz2,并保存为filename
bzip filename1 filename2 /home/aa 压缩多个文件
gzip filename 压缩文件filename,并保存为filename.gz(只能压缩文件)
gunzip2 filename.gz 解压缩文件filename.gz,并保存为filename
gzip -r file 将目录file中的内容压缩
tar 参数 压缩/解压缩后的文件或目录名 原文件或目录名(文件、目录)
参数:
-c 创建压缩文件 -x 展开归档文件 -t 显示包括在tar文件中的文件列表 -z 以gzip命令压缩/解压缩 -j 以bzip2命令压缩/解压缩 -f file 指定文件名,必选项 -v 写入或读取时,显示所有文件
cvf 压缩
tar cvf test.tar /home/test 将home下目录test压缩为test.tar
tar cvf filename.tar aa bb 将aa、bb压缩为filename.tar
xvf 解压缩
tar xvf test.tar 将test.tar解压缩
tar tvf filename.tar 列出filename.tar中的内容
tar zcvf/zxvf 以gzip打包目录并压缩/解压缩 压缩的文件格式.tar.gz(.tgz)
tar zcvf filename.tgz filename
tar zxvf filename.tgz
tar jcvf/jxvf 以bzip2打包目录并压缩/解压缩 压缩的文件格式.tar.bz2(.tbz)
tar jcvf filename.tbz filename
tar jxvf filename.tbz
文件阅读命令
head filename 查看文件的开头部分(默认查看前十行)
head -20 filename 查看文件的前20行
tail filename 查看文件的结尾部分(默认查看结尾的10行)
tail -20 filename 查看文件的后20行
more 按页来查看文件的内容
more [选项] [filename]
选项:
-num 一次显示的行数 -f 计算行数时,以实际上的行数为准,而非自动换行后的行数 +num 从第num行开始显示
more /字符串 filename 使用more来搜索关键字,并从该字符前两行开始显示输出
ls -al /etc | more -5 查看etc目录下所有文件内容,进行分页,每次显示5行
定位、查找文件的命令
which 命令
依序从path环境变量所列的目录中找出命令的位置,并显示完整路径,找到第一个符合的程序文件时,立刻停止
whereis 程序名的搜索(程序安装在哪)
whereis [参数] 程序/文件名
参数:
-b 搜索二进制文件、 -m 说明文件 -s 源代码文件
管理使用者和设立权限的命令
chmod 改变许可权限
r 读入
w 写入
x 执行
使用 ls -l filename 来查看一个文件的许多细节(包括权限)
权限信息中:以d开头是目录,以-开头是文件
权限分为三级 : 文件所有者(u)、用户组(g)、其它用户(o)、所有用户(a)
只有文件所有者和超级用户可以修改文件或目录的权限。
可以使用绝对模式(八进制数字模式),符号模式指定文件的权限
chmod命令用法
chomd 文件使用者(u,g,o) 增减(+,-,=) 权限名称(r,w,x) filename
符号表示:
删除某一文件的所有的权限:chmod a-rwx filename;
为文件所有者添加权限:chmod u+rwx filename;
为同一文件不同使用者添加/删除权限:chmod u+w,o-w filename;
数字表示:
4——读取r 2——写入w 1——执行x
chmod 751 filename 等价于 chmod u=rwx,g=rx,o=x filename;
useradd [用户名] 添加用户
userdel [用户名] 删除用户(用户数据保留)
userdel -r [用户名] 删除用户(用户数据删除)
PS:
用useradd [用户名] 删除用户后,要想彻底删除数据,使用 rm -rf 用户名
chown 将文件的拥有者改为指定的用户或组
(该指令只能由root用户所使用)
chgrp 用于变更文件或目录的所属群组
(与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。)
chgrp [所属群组] filename
-rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc 从上面可以看到,每一行都有7列,分别是: 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可写,其他人没有任何权限。 第二列表示链接数,表示有多少个文件链接到inode号码。 第三列表示拥有者 第四列表示所属群组 第五列表示文档容量大小,单位字节 第六列表示文档最后修改时间,注意不是文档的创建时间哦 第七列表示文档名称。以点(.)开头的是隐藏文档
su 用户名 切换用户(环境变量保持现在的用户的环境变量)
su -l 用户名 切换用户并载入所切换的用户的环境变量
passwd y 用户名 修改密码
有关关机和查看系统信息的命令
退出 exit
重启 reboot
shutdown -r 时间 shutdown -r now 立刻重启
shutdown -r 11:30 等到11:30重启
关机 halt
shutdown -h 时间 shutdown -h now 立刻关机
shutdown -h 11:30 等到11:30关机
shutdown -t 2 在2min内关机
有关进程的命令
ps process status 用于显示当前进程的状态(静态)
ps u 列出使用者的名称和使用时间
ps x 列出所有程序
top 查看目前程序的执行情景和内存使用(动态,几秒钟更新一次,按Crtl+c / q 退出)
kill 进程号(PID) 用来终止一个正在执行中的进程
有关时间设置的命令
date 设定和修改现在的时间和日期
date -u 使用格林尼治时间
date -r filename 最后一次修改文件的时间
date -s time(例如:18:00) 设置时间
cal 查看日历
cal 2017 查看2017年日历
cal 10 2017 查看2017年10月份日历
有关磁盘空间的命令
df disk free 检查空间的使用量
df 参数 filename
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -H :以 M=1000K 取代 M=1024K 的进位方式; -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出; -i :不用硬盘容量,而以 inode 的数量来显示
du disk usage 显示文件目录的大小
du 参数 filename
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。 -h :以人们较易读的容量格式 (G/M) 显示; -s :列出总量而已,而不列出每个各别的目录占用容量; -S :不包括子目录下的总计,与 -s 有点差别。 -k :以 KBytes 列出容量显示; -m :以 MBytes 列出容量显示;
fdisk:用于磁盘分区
网络操作命令
ifconfig 显示网络设备的状态
ping 用于检测主机
netstat 知道整个Linux系统的网络情况或显示网络状态
netstat -a 显示详细的网络状况
netstat -apu 显示UDP(用户数据包协议)端口号使用情况
其他命令
clear 清屏
echo 在显示屏上回显文字
换行:
uptime 系统运行时间
wc 用计算字符数
wc 参数 filename 默认情况下计算指定的行数、字数,以及字节数
参数:
-c 只显示bytes数
-l 只显示行数
-w 只显示字数