Linux目录结构
FHS标准
系统自带的目录前面都是需要加斜杠/
/boot :启动目录,内核存放地(相当于C盘)
/etc :配置文件存放地(所有配置文件都在这里)
/home :用户的目录,新增用户账号时,用户的家目录都存放在此目录(存放所有用户信息)
/lib :库文件,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/bin: 可执行文件和常用的linux命令
/sbin :系统管理员的命令和工具
/usr :应用程序和文件的安装地
/mnt :挂接其他文件系统(显示U盘里面的内容)
/root:root账户的home目录
/dev :存放linux系统下的设备文件
Linux 常用指令
pwd
功能:显示用户当前所处路径
[root@localhost ~] #pwd
cd
功能:切换目录
格式:cd <目录名>
[root@localhost ~]# cd .. 返回到当前目录的上一级
[root@localhost ~]#cd 返回当前用户的主目录
[root@localhost ~]#cd /home 切换到home目录下
ls
功能:显示指定目录下的内容
格式:ls [参数] [目录或文件]
参数 含义
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中的细节,包括权限,所有者,组群,大小,创建时间,文件是否是链接等
-r 逆向,从后向前地列举目录中内容
-R 递归,从选项递归地列举当前目录下所有子目录内的内容
-s 大小size;数据块
-al 按照顺序排列,显示所有文件,包括隐藏文件
ls -l 1.txt 列举文件1.txt 的信息(拥有者,创建时间等)
[root@localhost ~]#ls /home 显示指定目录/home下的内容
[root@localhost ~]#ls -l 显示当前目录的详细信息
[root@localhost ~]#ls -a 显示当前目录下的所有文件,包括隐藏文件
[root@localhost ~]#ls -al 按照顺序显示当前目录下文件,包括隐藏文件
[root@localhost ~]#ls -l /root/桌面/test.txt (ls -l +目录(防止找错文件,也可以不加))
grep
功能:是在一堆文件中查找一个特定的字符串
[root@localhost ~]#grep money tset.txt
在test.txt中查找money这个字符串,grep查找是区分大小写
创建文本
1.vi
功能:生成新文件或者编辑、查看文件
格式说明:vi file_name(创建文件成功后,点击回车直接进入文件编辑页面)
说明:上面的命令直接进入vi的命令模式
进入编辑模式,按i键或a键 ,编辑完成后,点击esc退出编辑状态
- :w 保存文件
- :wq 保存并退出
- :wq! 保存并强制退出
- :q 退出
- :q! 强制退出
- :dd 删除一行文字
- :x 删除一个字符
- :n 光标移至文本第n行 (根据输入数字向下移动)
- :$ 光标移至文本的行尾 (需要是英文输入方式)
- G 光标移至文本的末尾
- / 查找某个字符串 /sdb
2.touch
功能:创建文本(不能插入内容)
格式:touch 文本文件名字
[root@localhost ~]#touch 12.txt
[root@localhost ~]#touch 2.txt 3.txt 4.txt (创建多个文件)
创建目录
mkdir
功能:创建目录
格式:mkdir [目录名1] [目录名2]
[root@localhost ~]#mkdir dir2 (创建一个目录dir2)
[root@localhost ~]#mkdir aa bb cc (一次性创建多个目录)
[root@localhost ~]#mkdir -p aa/bb (一个目录里面只能嵌套一个目录)
删除文本或文件
rmdir
功能:删除空目录
格式:rmdir [参数] [目录名1] [目录名2]
[root@localhost ~]#rmdir dir2(删除一个空目录)
[root@localhost ~]#rmdir aa bb cc (删除多个目录)
[root@localhost ~]#rmdir -p aa/bb/cc(可以用于删除嵌套目录,目录中存在文件将不能删除成功)
rm
功能:删除文件
格式:rm [参数] [文件]
[root@localhost ~]#rm 1.txt 3.txt 4.txt (一次性删除多个)
[root@localhost ~]#rm /etc/33.txt (删除目录下的文件)
[root@localhost ~]#rm -rf jiaoben (直接输入文件名即可,强制删除不进行提示,用于目录下面既有文件夹又有文本的时候)
[root@localhost ~]#rm -r a (用于删除文件夹下面的目录也会把该文件一并删除,但是会不断进行提示,是否删除)
rm -rf rm -r都可用于删除目录下既有文件又有目录,rm -r会进行提示,rm -rf则不会进行提示
参数 含义
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
cp
功能:拷贝或复制文件
格式:cp [源文件] [目标文件]
[root@localhost ~]#cp hello.txt file1.txt
把文件hello拷贝一份,命名为file1
[root@localhost ~]#cp hello.txt /home/myfile.txt
把当前目录下文件hello拷贝到路径/home并命名为myfile
[root@localhost ~]#cp test.txt /home (复制到home目录下)
cp 只能复制文本,需要复制文件夹的时候 cp -r
参数 含义
-i 互动:如果文件将覆盖目标中的文件,会提示
-r 递归:这个选项会复制整个目录、子目录以及其他
-v 详细:显示文件的复制进度
mv
功能:可以对文件或者目录进行移动
格式:mv [源对象] [目的对象]
[root@localhost ~]#mv test.txt /home/dagou.txt(剪切到该目录下且修改文件名)
[root@localhost ~]#mv /home/a_dir /home/test/dir2
将目录a_dir移动到新的目录下并改名为dir2
参数 含义
-i 互动:如果选择的文件会覆盖目标中的文件,会提示
-f 强制:不提示地移动文件
-v 详细:显示文件的移动进度
cat
功能:显示文本中的内容
格式:cat 文本文件名字
[root@localhost ~]#cat 1.txt
locate
功能:定位文件和目录
格式:locate 文件或者目录名字
[root@localhost ~]#locate test
locate命令使用数据库来定位带有test这个词的文件或目录
man
功能:用来查询和解释一个命令的使用方法和这个命令的注意事项
格式:man 命令的名称
[root@localhost ~]#man ls
退出按下q
whatis
功能:用来查询某个命令的含义
[root@localhost ~]#whatis mv
文件备份和压缩命令
bzip2
功能:只能压缩文件并不能压缩文件夹
格式:bzip2 filename
文件会被压缩,并被保存为filename.bz2
[root@localhost ~]#bzip2 a b c(压缩多个文件)
[root@localhost ~]#bzip2 file1 file2 file3 /home/aa
把file1 file2 file3以及/home/aa目录中的内容压缩起来
解压文件
[root@localhost ~]#bunzip2 filename.bz2
Filename.bz2会被删除,而以filename代替
gzip
格式:gzip2 filename
文件会被压缩,并被保存为filename.gz
[root@localhost ~]#gzip -r file1
把file1目录中的内容压缩起来
参数
-r 递归处理,将指定目录下的所有文件以及子目录一并处理
解压文件
[root@localhost ~]#gunzip2 filename.gz
filename.gz会被删除,而以filename代替
tar
功能:将文件或者目录进行打包、或者解压缩
格式:tar [参数] [打包后的文件名] [需要打包的文件或目录]
参数
-c 创建压缩文件
-x 展开归档文件 (相当于解压)
-t 显示包括在tar文件中的文件列表(相当于在压缩状态时候查看该目录下的文件)
-z 压缩/解压缩文件(gz格式)
-v 写入或读取时,显示所有文件
-f 指明要展开的归档文件名
-j 压缩或解压文件(bz2格式)
[root@localhost ~]#tar cvf test.tar /home/test
将home目录下test打包成tar包
[root@localhost ~]#tar xvf test.tar (将test.tar解压缩)
[root@localhost ~]#tar cvf a.tar 对目录进行压缩
[root@localhost ~]#tar xvf a.tar 解压
[root@localhost ~]#tar -cvf filename.tar aa bb(将aa bb放入文件中)
[root@localhost ~]#tar -tvf filename.tar(列出tar文件的内容)
[root@localhost ~]#tar -xvf filename.tar(抽取tar文件的命令)
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构
[root@localhost ~]#tar -cjvf filename.tbz file(创建一个使用tar和bzip2来归档压缩文件)
[root@localhost ~]#tar -xjvf filename.tbz(扩展并接触归档bzip tar文件)
[root@localhost ~]#tar -czvf filename.tgz file(创建一个使用tar和gzip归档并压缩的文件)
[root@localhost ~]#tar -xzvf filename.tgz (扩展并接触归档gzip tar文件)
文件阅读命令
head
功能:查看文件的开头部分,默认查看前10行,但可以通过指定数字改变要显示的行数
[root@localhost ~]#head -20 文件名
查看文件前20行
tail
功能:查看文件结尾后10行
[root@localhost ~]#tail -20 test (查看后面20行)
more
功能:按页来查看文件的内容
more使用空格键和b键来前后移动
格式:more [选项] [filenames]
参数
-数字 一次显示的行数
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行紫薯太长的会被扩展为俩行或俩行以上)
+数字 从填写的数字往后开始显示
[root@localhost ~]#more +/lq 1.txt (查找到之后还会显示相应前面俩行的数据)
[root@localhost ~]#ls -al /etc | more -5
分页显示显示etc文件下目录一次显示5个,|表示管道,作用是可以将前面命令的输出当作后面命令的输入
[root@localhost ~]#more + /lq 1.txt
从文件中查找第一个出现”lq“字符串的行,并显示该字符串的前俩行
使用空格键进行前后翻阅,按Q键退出
定位、查找文件的命令
which
说明:依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录
例:找出ls命令的程序文件的位置
[root@localhost ~]#which ls
系统输出:/usr/bin/ls
whereis
说明:查找符合条件的文件,只能定位一些文件在文件系统中的位置,whereis命令一般用于程序名的搜索
[root@localhost ~]#whereis [-bm] 程序名
参数说明:
-b :只找二进制文件
-m :man说明文件,查出说明文档路径
chmod
功能:用来改变许可权限,读取、写入和执行是许可权限中三个主要设置
说明:
r 文件可以被读取
w 文件可以被写入
x 文件可以被执行,如果文件是程序的话
Chmod文件的使用者(u,g,o)增减(+,-,=)权限名称(r,w,x)文件
说明
u 拥有文件的用户
g 所有者所在的组群
o 其他人
a 代表所有
看文件的权限
drwxr-xr-x. root root
第一个root代表文件拥有者,第二个root代表文件所在的群组
rwx 代表文件主人权限 r-x 同组人员的权限 r-x其他人的权限
群主 管理员 群众
rwx 可读,可写,可执行
d开头代表目录
-rw-r--r--.
-开头代表文件
+ - =(重新赋权限)
[root@localhost ~]#chmod u-w a (减少主人写的权限)
[root@localhost ~]#chmod g-w,o-w a(对多个对象修改权限,针对a文件)
[root@localhost ~]#chmod a-rwx test.txt (删除某一文件的所有权限)
[root@localhost ~]#chmod u +rwx test (为文件所有者添加权限)
[root@localhost ~]#chmod u=rwx,g=rx,o=x filename
还可用数字表示权限
4——读取 2——写入 1——执行
useradd
功能:添加用户
格式:useradd [用户名]
userdel
功能:删除用户
userdel [用户名]
userdel [参数] [用户名]
[root@localhost ~]#userdel -ma (ma用户已经删除,但是用户所创建的文件不会删除)
userdel -r 用户名(用户以及文件都会删除)
chgrp
功能:用于百年跟文件或目录的所属群组
格式:[root@localhost ~]#chgrp wang 文件
chown
功能:将文件的拥有者改为指定的用户或组
备注:这个指令只有是由系统管理员(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,页没有权限可以把自己的文件拥有者该设为别人,只有系统管理者(root)才有这样的权限
su
功能:用来修改用户
语法:su 用户名
[root@localhost ~]#su -l user02 (当前用户root,切换为user02)
su 用户 代表切换用户,但是环境变量保持现在的用户的环境变量
su -l 用户 表示切换用户并载入那个用户的环境变量
password : 修改用户密码
password : 用户名
exit
功能:退出
文本模式下使用快捷键Ctrl+D
重新启动
在文本模式下使用命令:
[root@localhost ~]#reboot
[root@localhost ~]#shutdown -r now (现在立刻重启)
[root@localhost ~]#shutdown -r 11:30 (等到11:30进行启动)
关机
在文本模式下,使用命令
[root@localhost ~]#halt
[root@localhost ~]#shutdown -h now (现在立刻关闭系统)
[root@localhost ~]#shutdown -h 11:30 (等到11:30关闭系统)
[root@localhost ~]#shutdown -t 2 (在2min内关机)
ps
功能:查看计算机系统中,有哪些程序正在执行及其执行的情况
参数
u 列出使用者的名称和使用时间
x 列出所有程序
[root@localhost ~]#ps u (查看有关使用者的信息)
[root@localhost ~]#ps x (列出所有程序分布情况)
top
功能:可以查看目前程序的执行情景和内存使用
它和ps类似,不过它会几秒钟更新一次系统状态,方便追踪
需要离开这个程序,按Ctrl+C就可以了或者q
kill
功能:用来终止一个正在执行中的进程,如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源
语法:kill 进程号
data
功能:用来设定和修改现在的时间和日期
[root@localhost ~]#data -u (使用格林尼治时间)
[root@localhost ~]#data -r 1.txt (查看最后修改文件的时间)
[root@localhost ~]#data -s 18:00 (将时间设置为18:00)
网络操作命令
1.ifconfig
显示网络设备的状态
2.ping
用于检测主机
若执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远程主机的网络功能没有问题,就会回应该信息,因而得知主机运作正常
3.netstat
知道整个linux系统的网络情况或显示网络状态
[root@localhost ~]#netstat -a (显示详细的网络状态)
[root@localhost ~]#netstat -apu (显示UDP端口号的使用情况)
cal
功能:显示日历
若要显示一整年的年历,可以在cal命令后加4位数的年份
[root@localhost ~]#cal 2017 (显示2017年的年历)
[root@localhost ~]#cal 10 2017 (显示2017年10月份日历)
磁盘空间命令
df
功能:检查硬盘的使用量
[root@localhost ~]#df -a (可以列出全部文件系统和各分区的磁盘使用情况)
du
功能:显示文件目录的大小
语法:du 参数 文件名字
说明:-ab 列出所有文件和目录所占的空间
其他命令
clear
功能:清屏(清除当前命令窗口内容
格式:clear
[root@localhost ~]#clear 清屏
echo
功能:在显示屏上回显文字或者用来查看环境变量的值
格式:echo [需要显示的内容]
[root@localhost ~]#echo “hello, boy” (显示hello,boy)
[root@localhost ~]#echo $PATH (查看PATH的取值,是否有/sbin目录)
uptime
功能:系统运行时间
wc
功能:用于计算字数
语法:wc 参数 文件名
在默认的情况下,wc将计算指定文件的行数,字数以及字节数
参数
-c 只显示Bytes数
-l 只显示行数
-w 只显示字数