Linux基础(笔记)

0x01、linux目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/root: 该目录为系统管理员,也称作超级权限者的用户主目录。

/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:系统用户使用的应用程序。

/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

0x02、linux常用命令

1
2
3
cp 源文件或目录 目标目录

-a 复制目录及其所有属性
1
whereis 加命令名 //搜索命令位置的命令
1
2
3
4
5
6
7
8
9
find 搜索范围 搜索条件

例:find / -name flag.txt //从根目录下开始搜索flag.txt

find / -iname flag."*"

-iname是搜索时候不区分大小写

-a等于and,-o等于or

linux里的通配符

1
2
3
4
5
*  匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
echo f*输出当前目录下以f开头的文件
搜索需要加通配符的话 需要用""括起来
1
2
3
4
5
6
7
8
9
grep也是搜索命令,用于在文件中搜索指定字符串

grep "flag" 123.txt //在123.txt中搜索flag

-v的话是 排除包含指定字符串

-n是显示行号

-i是忽略大小写
1
2
3
4
5
alias设置临时命令,重启后失效

alias getflag='echo flag{123456}'

unalias 命令名 //删除临时命令
1
tail -f 实时显示日志动态
1
2
> 一般代表写入到什么文件里并且覆盖内容
> >表示追加写入
1
apt autoremove //卸载所有自动安装且不再使用的软件包
1
2
3
history //查看之前输入的命令
!! //执行上一个执行过的命令
!编号 //执行该标号对应的命令

终端快捷键

1
2
3
4
5
ctrl+l 清屏
ctrl+a 光标移动的命令行首
ctrl+e 光标移动到命令行尾
ctrl+r 在历史命令中搜索
ctrl+c 结束

查看端口进程情况

netstat -tunlp

1
2
3
4
5
6
7
8
9
-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

netstat -tunlp | grep 端口 //查看指定的端口号是否开启

查看某一端口的占用情况: lsof -i:端口号

kill -9 PID //杀死某进程

想要关闭端口就要关闭端口对应的进程

0x03、.sh文件的简单编写

vim test.sh

1
2
3
4
#! /bin/bash
echo "This is a test"
pwd
ls

chmod 777 test.sh
./test.sh

.sh的简单语法

#!/bin/sh 这行代码必须在程序的第一行,符号#!用来告诉系统它后面的参数是用来执行该文件的程序。

注释:以#开头的句子表示注释

变量:在shell编程中,所有的变量都是字符串,所以不需要声明

1
2
a="hello"
echo "${a}world"

流程控制:

1
2
3
4
5
6
7
if ….; then
….
elif ….; then
….
else
….
fi
1
2
3
4
5
6
7
8
if [ num=1]      #方括号表示判断
then
num=2
elif [num=2]
num=3
else
num=4
fi #结束语句

循环控制:

1
2
3
while …; do
….
done
1
2
3
for var in ….; do
….
done
1
2
3
4
#!/bin/sh
for var in A B C ; do
echo “var is $var”
done

0x04、一些实用的软件

Stacer,类似于管家的功能,很方便

0x05、资源上锁

1
2
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
1
ps -e | grep apt

然后kill进程

0x06、共享文件夹的设置

1、先在vmware上开启共享文件夹

2、安装VMware-Tools

    apt-get install open-vm-tools-desktop fuse

3、挂载共享文件夹

    vmhgfs-fuse .host:/vwareshare /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

4、如果上句命令报错,先执行umount /mnt/hgfs,再执行一次

5、设置开机自动挂载共享文件夹

    gedit /etc/fstab

    在末尾添加这一行代码

    .host:/vwareshare /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
文章目录
  1. 1. 0x01、linux目录
  2. 2. 0x02、linux常用命令
  3. 3. 0x03、.sh文件的简单编写
  4. 4. 0x04、一些实用的软件
  5. 5. 0x05、资源上锁
  6. 6. 0x06、共享文件夹的设置
|