支持互联网的开源技术——LAMP:Linux、Apache、Mysql、PHP

1. 新建

1. 新建空白文件(touch)

使用==touch==命令创建空白文件

1
2
cd ~ #切换到根目录
touch test #创建test文件

2. 新建目录(mkdir)

使用==mkdir==(make directoriese)命令可以创建一个空目录,也可以同时制定创建目录的权限属性

1
mkdir mydir #创建名为mydir的空目录

使用 ==-p== 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):

1
mkdir -p father/son/grandson

image-20200811175234205

当目录中已经存在同名文件时,再次使用==touch==按钮不会新建一个同名文件,但是会改变原文件的时间戳

2. 复制

1. 复制文件(cp)

1
cp test father/son/grandson  #cp 文件名 目标地址

2. 复制目录(cp)

1
2
3
cd /home/shiyanlou
mkdir family
cp -r father family #cp -r 文件名 目的地文件名

要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制

3. 删除

1.删除文件(rm)

1
2
3
4
rm test 
#当遇到权限问题时,需要加上-f参数
#删除目录时,使用 -r 或者 -R参数
rm -rf family

4. 移动文件与文件重命名

1. 移动文件(mv-move or rename files)

使用mv命令移动文件(剪切)。命令格式是mv 原目录文件 目的目录

1
2
3
mkdir Documents
touch file1
mv file1 Documents # mv 原目录文件 目的目录

2. 重命名文件(mv)

1
mv file1 myfile

3. 批量重命名

首先安装==rename==命令

1
2
# 安装rename命令
sudo apt-get install rename

使用了通配符和正则表达式:

1
2
3
4
5
6
7
8
9
10
cd /home/shiyanlou/

#使用通配符批量创建5个文件
touch file{1..5}.txt

#批量将这5个文件重命名为.c文件
rename 's/\.txt/\.c' *.txt

# 批量将这五个文件,文件名改为大写
rename 'y/a-z/A-Z/' *.c

5. 查看文件

1. 使用cat,tac和nl命令查看文件

前两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac为倒序显示

标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

1
2
3
4
5
6
7
8
9
10
#查看/etc目录下拷贝的passwd文件
cd /home/shiyanlou
cp /etc/passwd passwd
cat passwd

# -n 参数可以显示行号
cat -n passwd

#nl 命令比cat-n更专业
nl -b a passwd

==nl==的几种用法:

Linux102-相应参数

使用==more==命令打开passwd文件:

1
more passwd

Linux100-结果

使用==head==和==tail==命令查看文件,默认只看文件前几(10)行或者后几行

1
tail passwd

Linux101

1
head passwd

甚至更直接的只看一行,加上==-n==参数就行

1
tail -n 数字 /etc/passwd

6. 查看文件类型

1. 查看文件(file)

1
file shiyanlou.txt # file命令查看文件

文件类型有:

符号 含义
- 普通文件
d directory
l 软链接(快捷方式)
l 硬链接(相当于拷贝)
p 管道(管道文件主要用于进程间通信)

7. 编辑文件

1. 编辑器(emacs,vim,nano)

1
vimtutor #打开vim编辑器