Linux

Linux目录结构

bin 和 sbin :存放命令的
/dev :存放外设文件
/etc :存放配置文件
/home :普通用户的家目录(主目录)
/root :超级管理员的家目录
/mnt :挂载点
/usr :安装程序
/var :相当于D、E盘,用来存储一些文件站点

Linux常用命令

passwd 更改密码
ls 、ls -al *.png 查看目录中的内容
cd 进入目录
exit 退出当前工作环境
pwd 获取当前工作目录
su或su - 获取管理员权限
su - uiste 获取普通用户的权限
runlevel 获取运行级别
init N 改变运行等级
startx 和init5 启动图形化界面
clear 清空终端

Linux命令格式

语法:名利 [-选项] 参数
Linux 命令是区分大小写的

查看文件的详细信息(ls -al)

-a 显示所有文件
-l 显示详细信息
pwd 显示当前目录
ls 显示当前目录的文件
ls -l 列出文件的详细信息
ls -a 列出所有文件,包括隐藏文件
ls -al 后面是查询选择,查询选项是没有先后顺序的

常用指令

dir 显示当前目录的所有文件
who am i 显示登录的用户名
whoami 显示当前使用谁的权限
exit 、q 退出权限系统
halt 关闭计算机
power off 关闭计算机
reboot 重启计算机
man 查看帮助文档 manual
–help、-help 调用命令的注释帮助

显示目录所占磁盘容量(du)

du file/dir 显示文件或文件夹的容量,单位是KB,如果是文件夹显示文件夹中每个文件额大小和总大小
du -s dir 显示文件夹的总大小,不显示文件夹中文件大小
du -h file/dir 用友好的方式显示容量

改变工作目录(cd)

语法:cd 目录

cd dir 进入dir文件夹下
cd .. ..表示上一级
cd ../dir 进入上一级目录中的dir文件夹下
cd /dir 通过绝对路径进入到dir文件夹下
cd ~ 进入个人主目录
cd cd后面不跟参数就进入到个人主目录,和cd ~一样

目录操作

创建目录(mkdir)

mkdir dir1 在当前目录下创建dir1文件夹
mkdir dir1/dir2 在dir1目录下创建dir2目录(dir1必须存在)
mkdir -p dir1/dir2 如果没有dir1,先创建dir1再创建dir2. -p 可以写在后面
mk dir1 dir2 . 同时创建dir1、dir2、dir3…

删除目录(rmdir)

rmdir dir 删除目录,如果目标不为空这报错,不能删除
rmdir dir1 dir2 同时删除多个目录

既能删除文件也能删除目录(rm)

-r recursieve 递归
-f force 强制

rm file 删除文件
rm -rf file/dir 删除文件和文件夹

复制文件和目录(cp)

语法:cp [-r/-R] 源地址 目标地址

cp file dir 将file文件拷贝到dir文件夹下
cp file1 dir/file2 将file1拷贝到dir文件夹下并改名为file2
cp file1 file2 将file1复制一份,重命名为file2
cp -R/-r dir1 dir2 将dir1文件夹递归复制到dir2文件夹下

移动文件或目录(mv)

mv file dir 将file文件移动到dir文件夹下
mv dir1 dir2 dir2不存在就是该文件夹名字 dir2存在就是将dir1移动到dir2文件夹下
mv file1 file2 将file1的名字改为file2
mv dir1 dir2/dir3 将dir1拷贝到dir2文件夹下,并改名为dir3

文件查看

cat 文件名 一次性查看全部内容
more 文件名 分屏显示,按回车向下翻,一旦下翻就不能上翻
less 文件名 允许上翻和下翻,按向上和向下的键
head -n 文件名 显示前n条记录
tail -n 文件名 显示后几条
wc 文件名 用来计算文件行数、句数、字符数

新建文件和添加内容

新建文件(touch)

touch 文件名 新建一个文件
touch file1 file2 … 一次新建多个文件
touch dir/file 在dir文件夹下新建file文件

添加内容(echo、cat)

echo 内容>文件 将内容写入到文件(清空写),如果文件不存在则创建新文件
echo 内容>>文件 和上面一样,(追加内容)
cat file1>file2 将file1的内容写到file2中(清空写)(文件不存在则创建)
cat file1>>file2 和上面一样,(追加内容)
cat file1 file2 > file3 将file1和file2的内容合并成file3

>是清空写
>>追加写
写入>字符时,使用引号,或者\ 反斜杠,进行转义

组(group)的操作

groupadd 组名 添加组
grouped -n 新组名 旧组名 修改组
grouped 组名 删除组

查看组:cat ../etc/group

用户(user)的操作

用户信息都保存在/etc/passwd 文件中 cat ../etc/passwd
uiste:x:500:500::/home/uiste:/bin/bash
用户名:口令:用户id号:组的id号:注释性描述:家目录:登录shell

添加用户(useradd)

命令 描述
useradd 用户名 创建用户,在创建的时候自动创建组
useradd 用户名 -g 组编号 在相应的组下创建用户
useradd 用户名 -u 用户编号 给创建的用户指定用户编号
useradd 用户名 -d 家目录 给用户指定家目录

修改用户(usermod)

命令 描述
usermod -l 新用户名 旧用户名 修改用户名
usermod -u 用户编号 用户名 修改用户编号
usermod -g 组的编号 用户名 修改用户的组
usermod -d 家目录 用户名 修改家目录

删除用户(userdel)

命令 描述
userdel 用户名 删除用户,家目录还存在
userdel -r 用户名 删除用户同时删除家目录

常用指令

命令 描述
grep string [file] 在字符串中查找
ps -A (process)查询所有进程
kill —9 pid 杀死指定进程
df -lh 参看系统分区

date

命令 描述
date 显示系统时间
date -s ‘2015-11-6 11:11:11’ 更改系统时间

管道(|)

查找文件(find)

命令 描述
find / -name passwd 查找根下所有passwd的文件[区分大小写]
find / -iname passwd 查找根下所有passwd的文件[不区分大小写]
find / -mindepth 3 -name passwd 在最低3层目录下查找passwd文件
find / -maxdepth 2 -name passwd 在最高2层目录下查找passwd文件
find . -iname *.c 在当前目录下查找以.c结尾的文件,不区分大小写
find / -size +50k 搜索大于50K的文件
find / -size -40c 搜索小鱼40字节的文件char
find . -type f 查找当前目录下的所有文件
find . -type d 查找当前目录下所有的文件夹

软连接和硬连接

软连接

软连接就是快捷方式
语法:ln -s 源文件 连接文件

硬连接

语法:ln 源文件 连接文件
查看:ls -li 查看文件的索引编号

在Linux中删除文件并不是件文件本身删除,而是删除文件的索引,文件是垃圾回收机制来删除
只有文件才能做硬连接

权限(rwx-)

Linux的权限有3种:读权限(read)、写权限(write)、可执行权限(execute)
文件属性部分有10个字符组成,第一个字符是表示文件的类型,后面还剩下9个字符,每3个一组(每组由读、写、可执行组成),分成3组,第一组是文件所有者(user)的权限,第二组是和文件所有者同组(group)的权限,第三组其他用户(other)的权限

常用便是文件的字符

b 系统设备文件,使用i/o与外界交互的设备,通常是磁盘
d 表示文件夹
- 表示文件
l 连接文件
c 系统设备文件,利用串口设备和声音

更新权限

语法:chmod 权限 file/dir

案例 说明
chmod u+x,o+rx dir 用户添加可执行权限,其他用户添加读、可执行权限
chmod u+rwx,o-r file 用户添加读、写、可执行,其他用户去掉读权限
chmod go -rwx file 组和其他用户去掉读、写、可执行权限
chmod 750 file 通过数字来设置权限

更改文件所有者和组

更改所有者(chown)

chown user file 将file改成user用户
chown -R user dir 将dir文件中的所有文件所有者改为user

更改组(chgrp)

语法一:chgrp [-R] 新组名 file/dir
将file 或 dir 更改新组名
语法二:chown 用户名.组名 文件

1
2
3
chown  user passwd        将passwd更改为user所有
chown .php passwd 将passwd更改为php组所有
chown user.php passwd 将passwd更改为php组的user所有