1、 ls 命令
# ls 列出当前目录下的所有文件和文件夹
# ls -l 列出文件、目录、连接等的详细信息
# ls -o 不会列出 group 的信息
# ls -w 按行排列条目
# ls -r 反转顺序排列条目
# ls -R 以树状排列条目
# ls -a
注:l 标识连接;d 标识目录;- 标识文件
补充:对于连接的方式可分为下面两种
1、# ln 3.txt 4 硬连接 => 复制一个文件并在文件里建立连接
2、# ln -s 3.txt 5 软连接 => windows 下快捷方式
2、对目录和文件的操作
cd 进入欲打开的文件夹下
-- # cd .. 打开上一目录
-- # cd / 打开根目录
# pwd 查看所在的当前目录
# mkdir 建立目录
# mkdir -m 766 -v _java (创建 _java 文件,权限为 766;-v 是显示创建信息)
# rmdir 删除目录(只能为空的目录)
# rm -d -->(超级用户专用,而且要删除目录没有连接的文件)
# rm -r -->(需要请求确认的删除目录操作)
# rm -rf -->(常用的删除目录操作)
# touch file 创建一个空文件 file
> linux 下文件的后缀名没有意义
3、拷贝和移动文件、文件夹:
# cp
# cp -r d1 d2 (把 d1及其文件夹下的内容拷贝成 d2)
# mv
# mv file1 file2 将文件 file1 的名字改为 file2
4、简单使用 vi 编辑器
# vi 进入到 vi 编辑器 当前为命令行状态
按键盘的 “A”或“I”键 进入到 vi 的编辑状态,此时你就可以输入或编辑文件的内容了。
编辑完内容后,按键盘的 Esc 键,此时 vi 处于末行状态,你不可以对文件内容操作。要想操作,可以再次按 A 或 I 键。
在末行状态下
: wq 文件名 刚才编辑的内容会以你所输入的文件名保存。
: q! 不保存,强制退出
# vi 文件名 打开你要编辑的文件
: q 不做任何操作,退出 vi 编辑器。
5、查看文件内容
# more <file> 查看文件的详细内容
-- # more file1 file2 ... 依次列出文件的内容
--- more 有分页的功能
# cat 正序显示文件的内容(-E 给每行的结束加上标记 $ | -n 给每行的开头加行号)
# tac 倒序显示文件的内容
# head -n file 显示文件 file 头 n 行的内容
# head -c n file 显示文件头几个字节的内容
# tail <file> 倒数几行
5、查找文件
# where is
功能说明:查找文件。
语 法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:whereis指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
参 数:
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件
# find
例如:# find / -name rc* 查询根目录下所有以 rc 开头的文件
6、压缩、打包
gzip
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
例子:
-- # gzip file <== 压缩文件
-- # zcat file.gz <== 查看压缩文件的内容
-- # gzip -d file.gz <== 解压缩文件
-- # gzip -9 -c file > file.gz <== 用最佳压缩比压缩,并保留原来的文件
bzip2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
例子:
-- # bzip2 -z file <==压缩文件
-- # bzcat file.bz2 <==查看压缩文件的内容
-- # bzip2 -d file.bz2 <==解压缩文件
-- # bzip2 -9 -c file > file.bz2 <== 用最佳压缩比压缩,并保留原来的文件
tar
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
注:在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
例子:
将 etc 目录下的所有文件打包
-- # tar -cvf /tmp/etc.tar /etc <== 仅打包,不压缩!
-- # tar -zcvf /tmp/etc.tar.gz /etc <== 打包后,以 gzip 压缩
-- # tar -ztvf /tmp/etc.tar.gz <== 查看 etc.tar.gz 的内容
-- # tar -zxvf /tmp/etc.tar.gz <== 解压缩文件
-- # tar -zxvf /tmp/etc.tar.gz etc/passwd <== 只解压 /tmp/etc.tar.gz 目录下etc/passwd
-- # tar -jcvf file.tar.bz2 file <== 打包后,以 bzip2 压缩
7、rpm 的使用
Red Hat Package Manager(简称 RPM ,其功能类似于 windows 下的添加/删除操作)
-- 查看 rpm 描述信息(即软件包的内容,-q: 查询 ; -p: 查询软件包的文件; -i: 显示软件概要信息)
# rpm -qpi <文件名>
如:# rpm -qpi mysql.rpm
-- 查看将会安装软件包的那些部分到系统中(-l 显示软件包中的文件列表 )
# rpm -qpl <文件名>
-- 升级某个文件
# rpm -uvh <文件名>(注:这里的文件名是升级软件的升级补丁)
-- 查看系统中因误操作而缺少或被损坏的文件(-a 查询所有安装的软件包)
# rpm -Va
-- 查看文件属于哪个软件包(-qf:指定的方式显示查询信息 )
# rpm -qf <文件名>
-- 安装rpm包(-i: 安装文档; -v: 显示附加信息; -h: 安装时输出hash记号 (``#'');)
# rpm –ivh <文件名>
-- 卸载rpm包
# rpm –e <文件名>
8、更改文件权限
例子:
-rw-r--r-- 1 root root 0 Sep 30 21:15 test
注:r 读;w 写;x 执行。从左到右分别是 u:用户 g:组 o:其它 的权限
下面的方法是最常用、最方便的更改文件权限的方法
例如:更改文件 file 的权限
# chmode 755 file
注:其中的数字 755 为 3 个八进制数。(与二进制数相对应)
000 -> 0 代表没有任何权限
001 -> 1 代表“执行”的权限
010 -> 2 代表“写”的权限
100 -> 4 代表“读”的权限
上面的例子:执行上面的操作后,用户(u)拥有的权限 7 = 4 + 2 + 1,即读、写和执行的权限;组用户(g)的权限 5 = 4 + 1, 即读和执行的权限;其它用户(o) 拥有的权限 5 = 4 + 1,即读和执行的权限。
又如下面的例子:
# chmod 000 3.txt 不给文件 3.txt 设任何权
# chmod -R 000 1.txt 2.txt 3.txt 递归的更改后面所有文件的权限,参数 -R 标识递归操作
9. wc命令
wc(words count)
wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
10、管道 和 重定向
每个 Linux 进程都会打开 3 个文经来完成输入输出的工作
输入文件、输出文件、错误输出文件
重定向:
1、< 输入重定向
语法:命令 < 输出
示例:# cat < inputfile
2、> 输出重定向
语法:命令 > 输出
示例:# ls > outputfile
3、2> 错误输出重定向
语法:命令 2> errofile
示例:# ls 2> outputfile
管道操作符 “|”:
语法:command1 | command2
示例:# ps -ef | grep tomcat 查看当前是否启动了 tomcat 服务(像这样的组合使用十分常用。)
11、其它的一些
# clear 清屏
# date 系统当前时间
# more /proc/cpuinfo 显示主机 cpu 信息
# lspci 显示 PCI 设备信息
# more /proc/modules 查看系统中所使用的内核模块信息
stat
who、w、whomami--------
id
hostname
# fdisk –l 查看系统下的硬盘信息
12、对 vsftpd 的操作
# rpm -qa | grep vsftpd() 查询是否安装了 ftp 软件包(-a:查询所有的软件包)
# service vsftpd start 启动 ftp 服务
# ftp localhost 验证 ftp 是否连接
# ifconfig 查看本机 ip
# dos 下 ping 192.168.1.171
# ftp 192.168.1.171
(注:关闭防火墙 # service iptables stop)
# anonymous 匿名登录
linux 下
# cd /var/ftp/pub 对于默认用户pub 为公共的目录
ls(查看目录下的内容)
Linux 下更改 root 上传权限
# vi /etc/vsftpd.user_list
# vi /etc/vsftpd.ftpusers
更改为vsftpd 服务为默认启动
# chkconfig --list | grep vsftpd 检查 vsftpd 的配置(开启状态)
# chkconfig vsftpd on 设为默认启动
# vi /etc/vsftpd/vsftpd.conf 修改 vsftpd 的设置
补充:
1、如何让vsFTP服务器限制链接数,以及每个IP最大的链接数
# vi /etc/vsftpd/vsftpd.conf
加入下面两行:
max_clients=数字
max_per_ip=数字
# service vsftpd restart 重启 vsftpd 服务
2、如何限制下载的速度?
# vi /etc/vsftpd/vsftpd.conf
加入下面两行:
anon_max_rate=数字
local_max_rate=数字
# service vsftpd restart 重启 vsftpd 服务
注:数字的默认单位是 bytes
3、打开vsFTP服务器的日志功能
# xferlog_file=/var/log/vsftpd.log(去前面的 #)
13、更改 Linux 登录方式(Linux 启动级别):
# vi etc/initatb 修改文件中的 id 的属性(常用的是 3 和 5)
# reboot 重启 Linux
14、Linux 远程登录客服务 SSH
启动 ssh 服务
# service sshd start 启动 SSH 服务
# chkconfig sshd on 设置 SSH 服务为默认启动
2.用 ssh 客户端软件连接登录 Linux
如使用流行的 SSH 客户端软件 putty
15、环境变量相关
# echo $PATH 查看环境变量
# export 变量名=变量值 设置环境变量:
# unset 变量名 删除环境变量:
下面是我的 jdk 环境变量的配置:
(注:更改非临时变量时要将环境变量写入 etc 下的 profile 文件作为全局变量;Linux 下不同的环境变量以冒号 “ :” 分隔)
# vi /etc/profile 用 vi 编辑器打开存放环境变量的 profile 文件
export JAVA_HOME=/usr/java/jdk1.5.0_16/
export CLASSPATH=.:/usr/java/jdk1.5.0_16/jre/lib/rt.jar
export CATALINA_BASE=/tomcat5.5
export CATALINA_HOME=/tomcat5.5
export PATH=$PATH:/usr/java/jdk1.5.0_16/bin:$CATALINA_HOME=/tomcat5.5/bin (在原来的 PATH 基础上添加新PATH)
环境变量配置文件 :
全局变量 --> /etc/profile、/etc/profile.d/*
局部变量(用户变量) --> ~/.bash_profile、~/.bashrc、 /etc/bashrc
* 通配符:匹配任意多个任意字符
? 通配符:匹配任意一个字符
15、tomcat 的安装配置
-- 安装
# gzip -d apache-tomcat-5.5.23.tar.gz 解压 tomcat 的安装包
# tar -xvf apache-tomcat-5.5.23.tar 释放压缩包(-v: 显示安装详细过程)
或者直接用# tar -xzvf apache-tomcat-5.5.23.tar.gz 解压并释放,等同于以上两行
-- 将解压缩的 tomcat 文件夹转移到根目录下
# mv apache-tomcat-5.5.23 / “/” 是根目录
mv apache-tomcat-5.5.23 tomcat5.5 给tomcat 目录更名
-- 在环境变量中添加 tomcat 的路径信息
# vi /etc/profile 添加:
export CATALINA_BASE=/tomcat5.5
export CATALINA_HOME=/tomcat5.5
PATH 的后面 :$CATALINA_HOME=/tomcat5.5/bin
-- 启动 tomcat
# /tomcat5.5/bin/startup.sh
-- 查看 tomcat 是否启动(-e:所有的进程 -f:全部显示)
ps -ef | grep tomcat
-- 关闭 tomcat
# /tomcat5.5/bin/shutdown.sh
或用杀进程的方式 # kill -9 uid 参数 -9 表示立即终止
-- 命令行下验证能否连接到 tomcat
# wget http://localhost:8080/
-- 设置 tomcat 为默认启动
# vi /etc/rc.local 添加:
JAVA_HOME=/usr/java/jdk1.5.0_16/
export JAVA_HOME
/tomcat5.5/bin/startup.sh
16、MySQL 的安装配置
第一步:插入第二张盘
vm settings -> iso image -> 选择第二张盘
第二步:取得所需文件
# mount /dev/cdrom /mnt/cdr 挂载光驱
# cd /mnt/cdr 打开光驱
# find . -name perl* 查找所需的文件
# cp ./RedHat/RPMS/perl-DBI-1.40-5.i386.rpm /my_software 拷贝找到的文件到指定目录(这里是将找到的文件放到我自己的目录 /my_software)
第三步:安装所依赖的 perl 包(perl-DBI-1.40-5.i386.rpm)
# rpm -ivh perl-DBI-1.40-5.i386.rpm
第四步:安装 MySQL server
# rpm -ivh MySQL-server-community-5.0.67-0.rhel4.i386.rpm
-- 验证是否成功安装并启动了 MySQL 服务
# ps -ef | grep mysql 查看服务是否启动
# rmp -qa | grep mysql 查看包是否装上
第五步:安装 MySQL client
# rpm -ivh MySQL-client-community-5.0.67-0.rhel4.i386.rpm
第七步:设置登录 MySQL 的用户名和密码
# /usr/bin/mysqladmin -u root password 'new-password' (new-password 是你的密码)
-- 用用户名和密码登录 MySQL
# mysql -uroot -proot (这里后面一个 root 是我设的登录密码)