1. 文件管理
1.1文件类型(常见类型)
- 普通文件(文本文件/二进制文件/压缩文件/图片/音频)
d 目录文件(类似于windows下的文件夹)
l 软连接文件(类似windows下的快捷方式)
b 块设备文件(比如磁盘)
c 字符设备文件(比如鼠标/键盘/控制终端/控制台等)
s 套接字文件(网络通信)这类文件通常用在网络连接,可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到文件类型
p 管道文件
1.2文件权限chmod
我们可以用ls -al查看文件的权限
1.2.1 权限分配
Linux的权限有3种,r(读权限)w(写权限)x(可运行权限)
1.2.2 权限计算
r代表二进制的4,w代表二进制的2,x代表二进制的1
九个字符每三个rwx为一组代表不同用户的权限,第一个是所有者权限(u),第二个是所属组权限(g),第三个是其他人权限(o),当有这个权限,在该位置显示该字母,没有该权限则显示-
例如rwxrw-r--,代表所有者拥有读写运行权限,所属组拥有读写权限,其他人拥有读权限,这个换算成八进制就为764,我们在后面修改权限的时候,也可以用这个八进制来修改权限
1.2.3 修改权限命令chmod
上面提到了u,g,o分别代表三种权限,这里还可以使用a代表所有权限,可以用+/-来代表增加或者删除权限,用r w x来代表要修改的权限
这里要注意,只有文件所有者或root用户才可以修改文件的权限
例如,我用chmod a-x hello.c命令来删除了所有的运行权限
我们也可以用三个八进制数来修改文件权限,这样很方便,不过就是得计算一下,我用777代表给了所有权限
1.3 Linux中文件拓展名
Windows里面通过扩展名来区分文件类型,Linux里的文件扩展名和文件类型没有关系,但是为了容易区分和兼容windows的使用习惯,Linux也用了扩展名来代表文件类型
- .tar、.tar.gz、.tgz、.zip、.tar.bz来表示压缩文件,创建命令一般为tar、gzip、zip等
- .sh代表shell的脚本文件,是通过shell语言开发的程序
- .pl表示perl语言文件
- .py表示python文件
- .html、.php、.jsp等表示网页语言的文件
- .conf表示系统服务的配置文件
- .rpm表示rpm安装包文件
1.4 修改文件所属组 chgrp
sudo chgrp group01 user01 #修改user01目录所属组为group01
sudo chgrp group02 file #修改file目录的所属组为group02
1.5 修改文件所属者或文件所属组 chown
sudo chown user02 text.txt #修改text.txt的所有者为user02
sudo chown 文件所属者:新的组名 要修改的文件名
sudo chown user01:group01 text.txt #将text.txt文件所属组换为group01
2. 网络设置
2.1 安装ifconfig
sudo apt install net-tools
2.2 查看ip地址
ipconfig
2.3 ping
ping + ip,看两台电脑是否连通
3. Linux常用命令
3.1 基本命令
3.1.1 关机和重启
shutdown -h now #立刻关机
shutdown -h 5 #5分钟后关机
poweroff #立刻关机
halt #立刻关机
-------------------------------------------------------------------------------------------------------------------------
shutdown -r now #立刻重启
shutdown -r 5 #5分钟后重启
reboot #立刻重启
注意:1.不管关闭还是重启,都应该先运行sync命令,把内存数据写入磁盘
2.who 一下看谁还在线,要不可能会让其他人也跟着关机
3.1.2 帮助命令 --help、man
命令 --help #查看简版用法
man 命令 #查看详细版用法
3.1.3 pwd查看当前绝对命令
pwd #显示当前绝对路径
3.1.4 查看进程ps
(1)进程介绍
a.在Linux中每个执行程序的都称为一个进程,每一个进程都分配一个ID号(PID)
b.每一个进程都会对应一个父进程,而这个父进程会有很多个子进程
c.每个进程都有两种存在方式(前台或后台)
d.一般系统服务都是以后台形式存在,都会常驻到系统中,直到关机才结束
(2)进程查看ps
ps #显示当前进程状态
ps -A #显示所有进程
ps -au #以用户的形式显示进程信息
ps -aux #显示所有进程信息(较详细)
(3)查看进程树
pstree #可以以树的形式查看进程信息
pstree -p #显示进程的PID
pstree -u #显示进程的所属用户
(也可以-p -u一起用)
(4)more命令
Linux more命令类似于cat,不过会以一页一页的形式显示,更方便使用者逐页阅读用空格下一页,b为上一页
more -s testfile #逐页显示testfile的内容
more +20 testfile #从20行开始显示文件内容
(5)grep命令
grep "printf" 1.c #查找文件中printf的字符串
grep -c "printf" 1.c #查找printf出现的次数
| 是管道,我们可以用| + grep 内容来检索我们想要的内容
3.1.5 结束进程kill
kill 25546 #正常方式中止进程25546(进程号)
kill -9 25546 #直接杀死进程25546
kill -KILL 25546 #直接杀死进程25546
kill -15 25546 #释放资源后,杀死25546
3.1.6 ifconfig查看网卡信息
#显示网络设备信息
ifconfig
...
需要sudo权限
#关闭eth0网卡
ifconfig eth0 down
#开启eth0网卡
ifconfig eth0 up
...
#给eth0网卡配置IP地址,加上掩码,加上个广播地址192.168.1.255
ifconfig eth0 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255
3.1.7 动态监控进程top
top和ps类似,但是top它会实时更新,动态监测进程
top -d #每隔几秒更新,默认3s
top -i #不显示闲置或者僵死的进程
top -p #指定监控的进程ID,仅监控某个进程的状态
3.2 目录操作命令
3.2.1 切换目录 cd
cd /home/ddd #绝对路径,切换到ddd目录
cd ../ #回到上级目录
cd .. #回到上级目录
cd ../.. #回到上上级目录
cd ./ #在当前目录下
cd / #进入根目录
cd ~ #进入当前用户下的家目录
cd - #返回上一个目录
3.2.2 查看目录 ls
ls #查看当前目录下所有文件
ls -a # 查看所有文件(包括隐藏文件)
ls -l #按名称、列表查看当前目录下目录和文件的详细信息
ls -al #按名称、列表查看当前目录下所有目录和文件的详细信息
ls -lst #按时间顺序查看
ls -lrt #按时间倒序查看
3.2.3 创建目录 mkdir
mkdir aaa #创建aaa文件夹
mkdir aaa/bbb #在aaa里创建bbb(aaa必须存在)
mkdir -p aaa/bbb #在aaa里创建bbb(aaa不存在则自动创建)
3.2.4 删除目录 rmdir
rmdir aaa #删除aaa空目录
rmdir -p aaa/bbb/ccc #删除当前目录下的空aaa/bbb/ccc
rm -rf aaa/bbb/ccc #递归删除
rm -fr ./* #删除当前目录下的所有文件及目录
3.2.5 拷贝目录 cp
cp -r bbb ccc #递归将bbb目录及里面的内容复制到ccc目录下
cp -r -p aa bb #保持文件属性(时间戳)递归把aa目录复制到bb目录下
3.2.6 修改目录 mv
mv aaa ccc #将目录aaa改名为ccc
mv ccc/bbb . #将ccc下的bbb目录剪切到当前目录下
3.2.7 历史命令 history
history
history + 10 #显示最新的10条命令
3.2.8 命令路径查询which
which 命令 #查询命令的路径
3.2.9 whitis
whitis 命令 #打印该命令的单行说明
3.2.10 wc
wc 文件名 #打印文本文件中的字数
ls -al | wc -l #统计ls -al命令的行数
3.2.11 wget
wget 是从互联网检索内容的实用工具,它拥有最大的flags之一
wget //http:www.baidu.com/index.html #从百度下载文件