0%

linux基础

linux文件系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/ 根目录。一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始。当在终端输入/home,其实是先从
/(根目录)开始,再进入到home目录。

/bin,/usr/bin 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot 存放linux系统启动时用到的一些文件,如linux的内核文件:/boot/vmliunz,系统引导管理器:/boot/grub

/dev 存放linux系统下的设备文件,访问该目录下的某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom/mnt

/etc 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有,/etc/inittab,/etc/fstab,/etc/init.d,/etc/X11,
/etc/sysconfig,/etc/xinetd.d

/home 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。

~ 表示当前用户的家目录,~edu 表示用户edu的家目录。

/lib,/usr/lib,/usr/local/lib 系统使用的库函数的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

/lost+found 系统异常产生错误时,会将一些遗失的片段放置于此目录下

/mnt,/media 光盘默认挂载点,通常光盘挂载于/mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt 给主机额外安装软件所摆放的目录

/proc 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,
比较重要的文件有:/proc/cpuinfo,/porc/interrupts,/proc/dma,/proc/ioports,/proc/net/*等

/root 系统管理员root的家目录

/sbin,/usr/sbin,/usr/local/sbin 防止管理员使用的可执行命令,如fdisk,shutdown,mount等。
于/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能查看而不能设置和使用

/tmp 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv 服务启动之后需要访问的数据目录,如www服务器需要访问的网页数据存放在/srv/www 内

/usr 应用程序存放目录

/usr/bin 存放应用程序

/usr/share 存放共享数据

/usr/lib 存放不能直接运行,却是许多程序运行所必需的一些库函数文件

/usr/local 存放软件升级包

/usr/share/doc 系统说明文件存放目录

/usr/sharc/man 程序说明文件存放目录

/var 放置系统执行过程中经常变化的文件

/var/log 随时更改的日志文件

/var/spool/mail 邮件存放的目录

/var/run 程序或服务启动后,其pid存放在该目录下。

文件及文件夹查看

ls -a 查看所有文件及文件夹,包括隐藏文件和目录

ls -l 以列表形式查看所有文件和目录

ll 等同于 ls -al 等同于以上两个命令的结合

切换目录

cd 切换到当前用户的主目录(home/用户目录)

cd ~ 切换到当前用户的主目录(home/用户目录)

cd . 切换到当前目录

cd .. 切换到上级目录

cd - 可进入上次所在的目录

cd / 切换到系统根目录/

如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”。

文件夹操作

rm -f 才能删除文件夹,而且使用命令行是永久性删除,而使用GUI是移到回收站可恢复的。

文件复制

cp test.txt . ‘.’ 表示当前路径

cp test.txt hello.txt 将test复制并命名为hello

cp -r 复制文件夹 -r表示文件夹

cp test/.md Downloads/ ‘‘表示模糊匹配

文件剪切

mv test.txt Downloads/

mv test.txt a.txt 重命名

mv test/* Downloads

输出、重定向

‘echo’ 控制台输出

echo “hello world”

‘>’重定向符号

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

echo “hello world” > test.txt

ls > test.txt

test.txt 如果不存在,则创建,存在则覆盖其内容

注意:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部

echo “hello” >> test.txt

cat 查看&合并文件内容

cat xxx.py 可以用来快速查看某个文件内容,输出到控制台

cat test.txt >> haha.txt 将test.txt的内容追加到haha.txt中

cat 1.txt 2.txt > 1_2.txt将1.txt 2.txt内容合并到1_2.txt中

tar 归档管理

tar [参数] 打包文件名 文件

打包并压缩

打包指定目录或文件tar -czvf xxx.tar.gz my-file my-dir

解压缩包

解包到指定目录:tar -xzvf xxx.tar.gz -C my-dir (需要先创建my-dir目录)

zip 文件压缩

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

文件:zip bak * 当前目录所有文件,也可以指定文件

文件夹:zip -r bak * 当前目录所有文件&目录递归 -r表示递归 不然仅仅压缩了一个空的文件夹

解压文件:unzip -d 解压后目录文件 压缩文件

解压到指定目录:unzip -d ./target_dir bak.zip

解压到当前目录:unzip bak.zip

wget 文件下载

下载普通文件

wget http://p1.qhimgs4.com/t01ce0387e64e3428ca.jpg

以指定文件名保存文件

wget -O girl.jpg http://p1.qhimgs4.com/t01ce0387e64e3428ca.jpg

断点续传

wget -c http://p1.qhimgs4.com/t01ce0387e64e3428ca.jpg

tree 目录树状结构

使用tree命令可以查看指定目录的树状结构

which 查看命令位置

1
2
3
4
poplar@PoplarTang:~/Lesson$ which python
/usr/bin/python
poplar@PoplarTang:~/Lesson$ which ls
/bin/ls

ifconfig 查看ip地址

ping 测试网络是否联通

ssh 连接远程电脑

如果远程电脑是新装电脑,有可能会因为ssh服务证书问题而无法连接,可以通过在远程电脑上重装ssh服务解决。

  1. 重装ssh服务,生成证书

    1
    2
    sudo apt-get remove openssh-server
    sudo apt-get install openssh-server
  2. 重启ssh服务
    sudo service ssh restart

  3. 检查sshd服务是否存活
    sudo service ssh status

  4. 推出ssh
    exit

chmod 修改文件权限

使用ls -l 可以查看文件和目录的权限

第一个 ‘-‘表示文件,’d’表示文件夹

字母法权限修改:rwx

chmod u/g/o/a +/-/= rwx 文件

1
2
3
4
u	user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其他以外的人
a all 表示这三者皆是
1
2
3
+	增加权限
- 撤销权限
= 设定权限
1
2
3
r	read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

数字法权限修改:421

1
2
3
4
r	读取权限,数字代号为 "4"
w 写入权限,数字代号为 "2"
x 执行权限,数字代号为 "1"
- 不具任何权限,数字代号为 "0"

如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename

系统信息命令

查看系统版本

发行版本号

lsb_release -a

内核版本及系统位数

uname -a

内核版本及gcc版本

cat /proc/version

查看硬件信息

cpu信息

cat /proc/cpuinfo or lscpu

内存信息

sudo dmidecode -t memory

运行时信息

top实时CPU&内存使用情况(可以查看pid号,user,和哪个命令占用)

free当前内存占用情况

ps -aux查看当前进程状态(CPU、内存占用、开启时间)

kill根据进程pid杀死指定进程,可以配合参数-9强制杀死