Linux系统区分大小写
Linux下文件
Linux系统中并没有盘符的概念,而是通过目录/
表示所有文件的开始,并通过挂载(mount)的方式把所有硬盘分区都放置在根目录下。
目录名称 | 英文原意 | 说明 |
---|---|---|
bin | binary | 二进制可执行文件目录(ls等命令保存在此) |
boot | - | 存放用于启动linux系统的核心文件 |
dev | device | 设备文件目录 |
etc | etcetera | 存放系统的管理文件和配置文件 |
home | - | 用户空间 |
lib | library | 各种编程语言的共享库 |
lost+found | - | 系统意外宕机或者意外关闭产生的一些碎片文件 |
mnt | mount | 临时挂载文件的挂载点 |
opt | optional | 存放额外安装的软件 |
proc | process | 虚拟目录,系统内存中的进程以文件的形式体现 |
root | - | root用户的根目录 |
sbin | super user binary | 存放超级用户使用的二进制可执行文件 |
tmp | temporary | 存放临时文件 |
usr | unix system resources | 存放应用程序和文件目录 |
var | variable | 存放经常变化的文件 |
常用文件目录
一些基本的文件目录解释:
- /usr/bin:安装软件的二进制可执行目录
- /usr/include:系统头文件(header files)的目录,即c语言的头文件
- /usr/local:存放管理员自行安装的软件
- /usr/sbin:存放超级用户的二进制可执行文件目录
- /usr/src:存放源代码目录
- /etc/password:保存系统中的用户
- /etc/group:保存系统中的用户组
shell
shell是一层包裹在系统内核之外的“壳”,其功能主要是解释用户输入的命令,加以执行。例如,用户在终端输入ls -a,则这条命令就会发送给shell,然后shell在/bin目录下找到ls命令,执行该命令并传入-a。
使用echo $SHELL
可以看到当前系统使用的shell。
Bash(GNU BourneAgain Shell)是一个GNU计划编写的Unix shell,目前大多数Linux发行版的默认shell都使用Bash
使用shell编程,因为Bash支持编程等语法功能
命令
- 清屏,
clear
或者ctrl+L
- 反引号,优先执行例如
echo test=
ls``,然后echo $test
-
,>>两种输出重定向,其中>是覆盖方式,而>>是追加方式
- cat讲文件全部读取并显示,而less可以打开文件后随意浏览,类似于man
- find搜索命令,
find /~ "anla"
- w,查看当前登录的应用。
- grep命令,
cat Install-Linux-tar.txt | grep -P '^J.*c$'
,使用Perl语法的正则表达式,其中^
表示一行的开始,$
表示一行的结束。.
表示任意一个,而*
表示零次或者多次,两者组合起来就是匹配多个任意字符,--color
表示以彩色输出。 - curl,发送请求,并直接讲服务器的相应消息显示出来。
- free ,查看内存使用,
free -m
以M为单位显示 - df,查看磁盘空间,
df -lf
查看磁盘空间详细使用情况 - netstat,使用
netstat -tlnp
查看端口占用情况 - service,使用service命令来管理系统服务,例如控制网络的可以使用service network reload,等,使用service命令,实际上是调用了/etc/init.d目录下脚本,所以可以在/etc/init.d/下编写一段shell脚本,供service调用。
文件权限管理
linux中的用户对于文件有3中操作身份,文件所有者(owner),文件所属组(group)和其他人(other),每个身份对文件的操作由三种权限控制,分别是读取(read),写入(write)和执行(execute)。
使用ll输出文件,共有7个字段:
表示信息依次为:
- 文件类型
- 文件权限
- 文件硬链接数
- 文件所有者
- 文件所属组
- 文件所占空间
- 文件修改时间
- 文件名
文件权限最高的为rwx,即(可读,可写,可执行),最低为—,完全没有权限。
使用chmod来修改权限。例如chmod 777 1.py等。相关的有chown,chgrp等。