Linux目录概述
- /:根目录
- /bin:里面是系统最基本的二进制命令文件如ls cp rm ln等等
- /sbin s就是super的意思,里面都是超级用户用于管理系统的命令,如mkfs.ext3 等。
- /boot:里面是开机程序,lilo或grub,还有linux内核文件vmlinuz,初始化系统的initrd.img文件。
- /dev ; 就是device的意思,代表计算机的所有硬件设备。如IDE盘:/dev/hdx ;串口:/dev/ttyx:scsi盘用sdx表示。注意,一般情况下usb盘,s-ata硬盘也模拟成scsi来驱动。
- /lib:系统核心的动态模块和连接库文件,各种可动态加载的硬件驱动程序。nvidia的驱动程序就是安装在这里面。
- /etc:里面绝大部分都是文本文件,用于设置系统的,作用相当于windows的注册表。注意,其中有一个/etc/shadow文件里面保存着用户的登录密码。
- /root:超级用户的工作目录。
- /mnt:外接文件系统的挂载点,u盘、cdrom、windows分区都应挂到这里面。
- /proc:里面的文件不在硬盘上,而是在内存里,都是系统内核的运行信息。
- /var:包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。 默认情况下,http,ftp等服务的主文件夹也在这里面。
- /tmp:各用户程序产生的临时文件的存放场所,临时文件会被自动清除掉。
- /home:一般用户的主文件夹所在的地方。 /usr;规模非常庞大的文件夹,里面是各个应用程序的文件,相当于windows的 program files 文件夹。
- /usr下有几个重要的子文件夹。
/usr/bin:应用程序的可执行文件部分。相当于windows的*.exe文件。
/usr/lib:应用程序的共享动态连接库部分,都是一些*.so的文件,linux下各个应用程序的库文件都是可共享的。所以都存放在一个文件夹中。 /usr/X11R6;xwindow 系统的所属文件。
/usr/share:存放的是应用程序需要的字体、图片、文档等资源文件。
/usr/src:linux的源代码就放在这里。
/usr/games:游戏软件的存放区域,可惜现在linux大游戏还不太多。
/usr/include:Linux下开发和编译应用程序需要的头文件,爱好编程的朋友可要仔细研究这里呦。- /opt:非开源的商业程序一般都装到这里面。
- ps:一般除了home下的东西,其他的文件夹不要动
常用基本命令
Linux命令样式
- 命令+选项+参数
- command [-options] [parameter]
- 选项的先后顺序没有要求
- 可以一个“-”连多个选项
快捷操作
Ctrl + a:跳到命令行行首
Ctrl + e:跳到命令行行位
Ctrl + d:删除光标所在字符
Ctrl + u:删除光标到命令行首的所有字符
Ctrl + k:删除光标到命令行尾的所有字符
Ctrl + l:清屏
ls
ls / #显示根目录下文件及文件夹
ls /bin #显示bin下面所有的文件(可执行文件)
- 选项
- -a
显示隐藏文件(文件名以“."开头会成为隐藏文件) - -l
以列表方式显示(line) - -h
根据文件大小自动选择显示的单位
显示当前路径下的文件以及文件夹
alias
重命名
alias ll="ls -l" #以后执行“ll”即相当于“ls -l”,注意,等号两遍不能有空格
#ps:alias = "ls -l"已经被写入相应配置文件中,可直接使用
alias cdr="cd /root" #以后执行cdr即可直接切换到root目录下(如果权限够的话)
unalias
unalias ll #取消对"ll"的重命名
取消重命名
##pwd
- 显示当前工作路径
cd
- 路径
相对路径:以当前路径为参照
绝对路径:以根目录为参照 - 切换目录
cd 目录名
“.”:当前目录 #一般复制、移动文件到当前文件夹,执行当前文件夹下程序时需要用到,eg:mv …/…/demo.txt ./
“…”:上级目录
cd ../../ 转到上层目录的上层目录*
- “-”:返回上次所在的目录
cd -
- “~”:家目录
cd ~
touch
touch 文件名
- *ps:Linux中没有后缀的概念*
mkdir
- 创建文件夹
mkdir 文件夹名
- 选项:-p #创建依赖的文件夹
mkdir -p ./a/b/c/d
rmdir
- 删除非空文件夹
rm
- 删除文件
- 选项:-r
删除文件夹,可以删除非空,-r:表示递归
tree
- 以目录树的方式显示
clear
- 清屏,相当于windows中的cls
帮助文档
- caution:命令会用即可,不用研究透
1)help
ls --help
###2)man
- ps:来源:manual
man ls
- 可通过上下键一行一行看,用q退出
- f:翻屏
- b:往回翻
- 一共有8个man手册
man 2 open #示例,查看C的手册
自动补全
- tab键
- 两次tab,显示所有可能
cd /home/aodongbiao/敲两次tab,会显示aodongbiao目录下所有文件夹
查看文件内容
cat
- 只有查看,没有编辑
cat 文件名1 文件名2
- 拓展:结合重定向
cat 源文件名 >> 目标文件名
more
- 以分屏方式查看文件内容
more 文件名
- f:往下翻
- b:往上翻
- q:退出
less
echo
- 回显参数字符
echo Hello world #执行结果:在屏幕上显示“Hello world”(不包括引号)
history
- 仅输出history,即显示所有历史命令
- “!”+历史命令序号 可快速执行对应命令
- 上下键可以快速切换历史命令
- *实际上相应历史命令的数据被写入了“.bash_history”文件中
通配符
*
代替零个、一个或多个字符
ls 2* #显示以2开头的文件或文件夹
?
- 代替一个字符
###"[]" - 中括号,实际为正则表达式
ls 2[1234]3.txt #显示213.txt或者223.txt或233.txt或243.txt
删除文件
rm + 文件名
重定向
- 把显示到屏幕上的内容保存到制定文件
>
- 会覆盖
ls > a.txt
>>
- 追加,不覆盖
|
- 管道,用于把两个命令连接到一起
ls -alh /bin | more
一行输多个命令
- 用分号分隔:";"
ln
- 链接
软链接
- 快捷方式文件指向原文件名(原文件名指向原文件的数据)
ln -s 目标文件/夹 快捷方式文件名
-如果快捷方式为红色,则表示源文件已经不在了
硬链接
- 快捷方式直接指向原文件的数据
ln 目标文件/夹 快捷方式文件名
链接数
- 软链接不加硬链接数
- 硬链接会增加硬链接数
如何查看硬链接数:
ln -l 文件名
- 第二列即为硬链接数
grep
grep "查找内容" 目标文件
grep -v "不包含的内容" 目标文件
- 以查找内容开头
grep "^查找内容" 目标文件
- 以查找内容结尾
grep "查找内容$" 目标文件
######ps:程序员不要使用小键盘,使用主键盘区上面的数字键盘
find
- 在指定路径下查找文件
find 路径 [-name] 文件名
find 路径 -size 文件大小 #文件大小的格式
+size:大于
-size:小于
size:等于
size的单位:M/G/K
mv
- 移动文件,顺带改名功能
mv 原文件 [新文件路径/]新文件名
cp
- 复制文件,若是文件夹,需要 -r
cp 原文件[夹] [新文件路径/]新文件[夹]名
sudo
- 利用管理员权限执行命令
打包、压缩与解压
tar
- 仅归档管理,打包,不压缩,很少用
打包:tar -cvf 包的名字 目标文件[夹]
解包:tar -xvf 包的名字
- ps:打包并不会删除原文件
压缩
法一
tar -zcvf 包的名字.gz 目标文件[夹]
tar -zxvf 包的名字.gz
法二:压缩率小
tar -jcvf 包的名字.tar.bz2 目标文件[夹]
tar -jxvf 包的名字.tar.bz2
压缩法三:zip
zip 压缩文件名.zip 目标文件[夹]
unzip 压缩文件名
- ps:压缩文件名和目标文件名前面皆可加路径
which 命令名
- 显示命令所在的路径
翻外篇
零碎
ctrl+"c" #不执行当前命令(直接换行)
文本编辑器
详见另一篇专门介绍文本编辑器的博客
/dev/null
代表空设备文件
1 :表示stdout,标准输出,系统默认是1
2 :表示stderr标准错误
ls > /dev/null #屏幕上不显示任何信息
ls /root 2> null #不显示错误信息,比如无权限之类的
改变字体大小
ctrl+shift+'+':放大
ctrl+'-':缩小