基础命令
软件类型
c/s:由个人下载安装软件 升级包
b/s:运行在浏览器上,软件安装 升级包由官方完成
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
|
命令[选项] 描述
pwd 显示当前的工作目录
cd 切换目录
ls 列出目录文件
-a 显示所有文件,包括隐藏文件
-l 显示文件的详细信息
-al 显示所有文件包括隐藏文件的详细信息
clear 清屏
mkdir 建立目录
-p 建立多级目录
touch 改变文件和目录时间,同时还可以创建文件
mv 移动文件或目录,移动时可以重命名
cp 拷贝文件或目录,拷贝时可以重命名
unlink 删除文件
rmdir 删除空目录
-p 删除多级空目录
rm 删除文件或目录
-r 递归删除,删除文件夹下的所有文件及子目录
-f 强制删除,不提示
-i 提示和询问
chmod 修改文件或目录的权限
gzip 压缩文件,压缩后文件后缀.gz
-r 递归压缩,压缩目录下的文件
gunzip 解压文件,后缀为.gz的文件
tar 备份文件,压缩或解压文件/目录
-c 创建压缩文件
-v 显示压缩文件的执行过程
-f 压缩时,可以重命名
-x 解压文件,对目录或文件解压
-z 具有gzip属性,可以压缩成.gz或解压.gz的文件或目录
find 查找文件或目录
-name 以文件名查找
-user 以用户名查找
find 路径 -name 文件名
|
vi操作相关命令
命令模式进入末行模式用 “:”
命令模式进入插入模式用i a o
末行模式与插入模式不能直接连接,需要转到命令模式操作
末行模式
1
2
3
4
5
|
w 保存文件
q 退出
w! 强制保存
q! 强制退出
set nu 显示出行号
|
插入模式
1
2
3
|
-i 光标之前插入
-a 光标之后插入
-o 转至下一行插入
|
命令模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
dw 删除光标所在的单词
ndw 删除光标所在位置后的n个单词,n为数字
dd 删除光标所在的行
ndd 删除光标所在行(包含此行)以下的n行
d0 从光标的前一位删除至行首
d$ 从光标所在的位置删除至行尾
x 删除光标位置的字符
u 撤销前n步的操作命令
nG 光标移至第n行,n为数字
gg 快速移至第一行
G 快速移至最后一行
H 左移动光标
L 右移动光标
J 下移动光标
K 上移动光标
|
常用命令示例
解压缩
1
2
3
4
5
6
7
|
将demo压缩成.tar.gz文件
解压 .tar .tar.gz文件
# mkdir demo
# tar -cvf demo1.tar demo
# tar -zcvf deno2.tar demo
# tar -xvf demo1.tar
# tar -zxvf demo2.tar.gz
|
soft01用户名
@分隔符
localhost本地主机
~当前用户家目录
$等待输入
drwx—— 2 root root 16384 nov 25 2011 lost+found
d 目录
r 读 4
w 写 2
x 执行 1
查看内核版本命令
1
2
3
4
5
6
|
# cat /proc/version
Linux version 2.6.18-194.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010
# uname -a
Linux jerry 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux
# uname -r
2.6.18-194.el5
|
查看linux版本
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
# cat /etc/issue
CentOS release 5.5 (Final)
Kernel \r on an \m
cat /etc/redhat-release
CentOS release 5.5 (Final)
|
查看linux系统是64位还是32位
1
2
3
4
5
6
7
|
# getconf LONG_BIT
32
# getconf WORD_BIT
32
# file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
# lsb_release -a
|
文件类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-rw-r--r-- 1 root root 2886 Oct 5 2013 install.log.syslog
文件类型
d 目录 directory
- 二进制文件
l 软链接文件 link
文件权限
r(read读), w(write写), x(execute执行)
文件所有者权限
rw- 所有者user权限
r-- 所属组group权限
r-- 其他人权限
1 表示硬链接数
root 所有者
root 所属组
2886 文件大小(不是很准确)
数据块 block 512字节 存储最小单位
可以调整大小(流媒体文件 调高一点 加快存储速度,文件较小 调低一点 节省空间)
Oct 5 2013 创建或最后修改的时间
|
查看文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
tail命令
tail -f filename 查阅正在改变的日志文件 会把filename最后的内容显示在屏幕上,看到最新的文件内容
语法
标准语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
-c number 从number变量表示的字节位置开始读取指定文件
-b number 从number变量表示的512字节位置开始读取这些文件
-k number 从number变量表示的1KB块位置开始读取指定的文件
-m number 从number变量标识的多字街字符位置开始读取指定文件,使用该标志提供在单字节和双字节字符代码集中环境中的一致结果
-n number 从number变量表示的位置开始读取指定文件
-r 从文件末尾以逆序方式显示输出,缺省以逆序方式打印整个文件,如果文件大于20480字节,那么-r标志只显示最后的20480字节
-r标志与-n标志一起使用时才有效,否则,就会将其忽略.
要以逆序显示行
#tail [ -r ] [ -n Number ] [ File ]部分Linux没有此选项
tail -n 20 /home/wwwlogs/error.log指定从error.log文件末尾开始读取的行数
要从第200字节开始,每次显示一页,输入
tail -c +200 /home/wwwlogs/error.log
要跟踪文件的增长
tail -f /home/wwwlogs/error.log
|
改变文件所属
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID
组可以是组名或者组ID
文件是以空格分开的要改变权限的文件列表,支持通配符
chown [选项]...[所有者][:[组]] 文件
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-dereference 作用于符号链接的指向,而不是链接文件本身
chown mail:mail log2012.log
将log2012.log的所有者改为mail,所属组改为mail
chown root: log2012.log
将文件的所有者和所属组改为root
chown :mail log2012.log
将文件的所属组改为mail
chown -R -v root:mail test6
改变指定目录以及其子目录下的所有文件的拥有者和群组
|
ln链接
ln的链接分软链接和硬链接两种:
1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。
2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
ln -s /root/pcstat /usr/local/bin/pcstat
Tips:web开发环境,nginx+php根目录+开发域名只配置一个,其他项目需要时通过ln -s
链接到另一个项目进行访问,不需要每次新增配置