linux基础命令大全,linux命令大全
linux基础命令大全,linux命令大全
4 Linux
1 Linux基本命令
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
rpm -qa或者yum list|grep installed 查看linux安装的所有软件
1基本命令
命令 |
作用 |
ifconfig |
显示或配置网络设备 |
cd .. |
进入上一级目录 |
cd [路径] |
进入路径指定的某一个文件夹 |
cd / |
进入根目录 |
cd ~ |
进入root目录 |
ls |
列出当前目录中所有的文件和文件夹(不包含隐藏文件) |
ls -l |
详情的形式显示当前目录中所有的文件和文件夹(不包含隐藏文件) |
ls -a |
列出当前目录中所有的文件和文件夹(包含隐藏文件) |
ls -al |
详情的形式显示当前目录中所有的文件和文件夹(包含隐藏文件) |
clear |
清屏 |
mkdir [文件夹名字] |
创建文件夹 |
Pwd |
2 操作目录命令
命令 |
作用 |
mkdir [文件夹名字] |
创建文件夹 |
rm -r [文件夹名字] |
删除文件夹(需要确认) |
rm -fr [文件夹名字] |
删除文件夹(无需确认) |
mv [原文件夹名] [新文件夹名] |
更改文件夹的名字 |
3 操作文件命令_创建
命令 |
作用 |
touh [文件名] |
创建文件 |
vi [文件名] |
创建文件并进入文件内部,进行编辑 |
4 操作文件命令_删除
命令 |
作用 |
rm [文件名] |
删除文件(需要确认) |
rm -f [文件名] |
删除文件(无需确认) |
5 操作文件命令_复制和剪切
命令 |
作用 |
cp [文件名] [文件夹名] |
复制文件到目标文件夹 |
mv [文件名] [文件夹名] |
剪切文件的目标文件夹 |
6 操作文件命令_查看
命令 |
作用 |
cat [文件名] |
一次性显示文件所有内容 |
more [文件名] |
分页显示文件内容 |
less [文件名] |
与more类似,多了一些功能 |
tail [文件名] |
查看文件的末尾 |
7 操作文件命令_查找
命令 |
作用 |
find -name '关键词*' |
在当前目录查找所有前缀为关键词的文件或文件夹 |
find [目录名] -name '关键词*' |
在指定目录查找所有前缀为关键词的文件或文件夹 |
8 压缩和解压缩 * tar : 打包 * tar.gz : 打包并压缩.GZip
命令 |
作用 |
tar -zcvf [要生成的文件的名字] [要打包的文件名] |
打包并压缩文件 |
tar -zxvf [要解压的文件的名字] |
解压缩文件到当前目录 |
tar -zxvf [要解压的文件的名字] -C [指定文件夹] |
解压缩文件到指定文件夹 |
8 编辑文档
命令 |
作用 |
vim [文件名] |
进入一般模式 |
i |
进入插入模式 |
Esc键(键盘左上角) |
退出插入模式 |
:wq |
保存更改并退出 |
:q! |
不保存更改并退出 |
9其他命令
命令 |
作用 |
pwd |
显示当前工作目录 |
ps -ef |
显示所有进程 |
kill pid |
杀死进程 |
grep [关键词] [文件名] |
在文件中搜索关键词 |
grep [关键词] [文件名] --color |
>在文件中搜索关键词,并高亮显示 |
命令1 | 命令2 |
命令1的结果作为命令2的输入内容 |
netstat -ano |
查看端口占用情况 |
reboot |
重启 |
halt |
关机 |
10 文件权限
* 使用ls -l命令可以查看当前目录的详情.其中第一段代表对应的文件的权限 ![Logo](static/i01.png) ![Logo](static/i02.png) ![Logo](static/i03.png)
命令 |
作用 |
chmod [十进制权限之和] [文件名] |
更改指定的文件的权限 |
chmod 777 a.txt |
把a.txt的权限改为 rwxrwxrwx 所对应的数据是r-4-w-2-x-1 读写查 总和表示权限 |
rpm -ql 文件名 |
查询 安装的软件的目录 |
rpm -qa|grep jdk |
查询 安装的jdk 要查询其他的就在后面写他名字 |
2 Jdk/mysql/tomcat/redis安装使用
今日目标
- 搭建开发环境
- 操作Redis的String和Hash
- 中断命令: Ctrl + C
ps -ef|grep tomcat 查看tomcat是否运行
rpm -qa|grep jdk 查看安装jdk的版本
source /etc/profile 直接重新运行环境文件 这时候jdk就重启了
java -version 查询jdk版本
1安装JDK
1. 查询本地已安装的JDK,命令 : rpm -qa | grep jdk
2. rmp -qa 查询所有本地安装的软件
3. 卸载已安装的JDK,命令 : rpm -e [文件名] rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 (先查询出来jdk软件 然后复制到后面卸载)
4. 利用xFtp上传文件到/usr/local目录
5. 将文件统一解压到/usr/local目录.命令 : tar -zxvf [文件名]
6. 配置环境变量, 命令 : vim /etc/profile (在跟目录下进入这个文件)
- 在该文件中添加以下内容
set java environment
JAVA_HOME=/usr/local/jdk1.7.0_72
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
- 让文件立即生效. 命令: source /etc/profile
2安装MySQL
1. 查询本地已安装的mysql,命令 : rpm -qa | grep mysql
2. 卸载已安装的mysql,命令 : rpm -e --nodeps [文件名] (直接卸载的时候rpm -e [文件名] 有两个依赖,卸载不掉,所以要用前面的,卸载的时候不检查依赖)
3. 利用xFtp上传文件到/usr/local目录
4. 创建文件夹mysql, 命令 : mkdir mysql
5. 将文件统一解压到/usr/local/mysql目录.命令 : tar -xvf [文件名] -C mysql
6. 进入/usr/local/mysql目录,安装客户端,命令 : rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
7. 进入/usr/local/mysql目录,安装服务器端,命令 : rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
8. 启动mysql,命令 : service mysql start
9. 查看mysql状态,命令 : service mysql status
10. 设置root用户密码, 命令 : /usr/bin/mysqladmin -u root password 'root'
11. 连接mysql,命令 : mysql -u root -p
12. 添加mysql到系统服务,命令 : chkconfig --add mysql (要在mysql的文件夹下 实行这个命令)
13. 设置mysql服务为自动启动,命令 : chkconfig mysql on (要在mysql的文件夹下 实行这个命令)
开启MySQL的远程访问
- 开启远程访问
- 进入MySQL,命令 : mysql -u root -p
- 开启远程访问,命令
grant all privileges on . to 'root' @'%' identified by 'root';
flush privileges;
- 退出MySQL,命令 : exit;
- 开放3306端口,命令
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
3安装Tomcat
1. 利用xFtp上传文件到/usr/local目录
2. 将文件统一解压到/usr/local目录.命令 : tar -zxvf [文件名]
3. 开放8080端口,命令(在压缩包的当前文件)
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
4. 开启Tomcat,首先进入Tomcat的bin目录,再执行命令 : ./startup.sh
5. 关闭Tomcat,首先进入Tomcat的bin目录,再执行命令 : ./shutdown.sh
发布工程到Linux的Tomcat (直接倒出来的war包形式复制到 tomcat下wappspace空间就行,他会自动解压)
Redis的历史
4 Redis的安装
1. 利用xFtp上传文件到/usr/local目录
2. 将文件统一解压到/usr/local目录.命令 : tar -zxvf [文件名]
3. 安装gcc环境,命令 : yum install gcc-c++ (直接在/local/redis-3.0.7/src 目录下进行)
- rpm和yum的区别
- rpm一般用于离线安装
- yum一般用于在线安装.它不仅可以安装指定的软件包,还会自动安装软件包的依赖
4. 进入redis-3.0.7目录,执行make命令,进行编译
5. 进入redis-3.0.7目录,安装redis,命令 : make PREFIX=/usr/local/redis install
6. 进入redis-3.0.7目录,拷贝redis.conf文件到/usr/local/redis/bin目录,命令 :cp redis.conf /usr/local/redis/bin
7. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
8. Ctrl + c : 关闭服务器
---
- 账号:
- 密码:
- 虚拟机如果要连接网络,要先在真实的电脑中连上网络,之后虚拟机使用NAT连接模式
- 如果要让其他同学连接自己的电脑,虚拟机使用桥接模式
5 Redis的后端启动(因为启动后就占用了整个窗口)
1. 进入redis/bin目录,修改redis.conf,将daemonize = no修改为daemonize = yes 命令: vi redis.conf
2. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
3. 查看redis是否开启
- 方式1 : ps -ef | grep redis, 如果能够看到redis相关的进程说明启动成功
- 方式2 : 执行命令 ./redis-cli 启动客户端,再执行ping命令,如果返回结果为pong说明启动成功
1 Redis的使用
6 Redis存储String类型数据
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
set [key] value |
存储数据 |
get [key] |
获取数据 |
del [key] |
删除数据 |
incr [key] |
将key对应的数字+1 |
decr [key] |
将key对应的数字-1 |
keys * |
查看所有的key |
7 Redis存储Hash类型数据
- 这里的hash类型,其实就是Java中的HashMap
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
hset [key] [字段名] [字段值] |
向集合key中,存储一个键值对 |
hget [key] [字段名] |
获取集合key中,字段对应的值 |
hdel [key] [字段名] |
删除集合key中,对应的字段 |
del [key] |
删除整个集合 |
8 Redis存储List类型数据
- 这里的List类型,类似于Java中的LinkedList
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
这里面存储的value都是string类型的
命令 |
作用 |
lpush [listname] [value1] [value2] ... |
从左侧向集合中插入数据 |
rpush [listname] [value1] [value2] ... |
从右侧向集合中插入数据 |
lrange [listname] [start] [end] |
获取集合中的数据 |
lrange [listname] [start] -1 |
获取集合中的所有数据 |
lpop [listname] |
删除集合中第0个元素 |
rpop [listname] |
删除集合中最后一个元素 |
llen [listname] |
获取集合的长度 |
Redis存储List类型数据扩展命令
- 这里的List类型,类似于Java中的LinkedList 1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf 2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
lpushx [listname] [value] |
如果集合存在,就向其左侧插入数据 |
rpushx [listname] [value] |
如果集合存在,就向其右侧插入数据 |
lrem [listname] [count] [value] |
从集合中删除count个指定的value |
lset [listname] [index] [value] |
设置集合指定位置的值,会覆盖之前的值 |
linsert [listname] before [value1] [value2] |
在value1之前插入一个新的值,value2 |
linsert [listname] after [value1] [value2] |
在value1之后插入一个新的值,value2 |
rpoplpush [list1] [list2] |
移除list1中最后一个值 |
Redis存储Set类型数据
- 这里的set是一个无序set,该set不允许出现重复数据
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
sadd [setName] [value1] [value2] ... |
向set中出入数据 |
smembers [setName] |
获取集合中的所有数据 |
sismember [setName] [value] |
判断set中是否包含某个值 |
srem [setName] [value] [value] ... |
移除set中的某个值 |
sdiff [set1] [set2] |
差集运算.获取属于set1但不属于set2的数据 |
sinter [set1] [set2] |
交集运算.获取同时属于两个集合的数据 |
sunion [set1] [set2] |
并集运算.获取两个集合的所有数据 |
Redis存储Set类型数据扩展命令
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
zrangebyscore [setName] [min] [max] |
获取指定分数范围的数据,返回结果时按照分数从小大到排序 |
zrangebyscore [setName] [min] [max] limit [offset] [pageSize] |
获取指定分数范围的数据,返回结果时,去掉前面offset个,截取pageSize个 |
zincrby [setName] [score] [value] |
给指定的value增加score分数 |
zcount [setName] [min] [max] |
获取指定分数范围中,元素的个数 |
zrank [setName] [value] |
获取指定元素在集合中的排名 |
zrevrank [setName] [value] |
获取指定元素在集合中的排名 |
Keys 通配符
1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf
2. 启动客户端,命令 : ./redis-cli
命令 |
作用 |
keys * |
获取所有的key |
keys ??? |
获取有三个字符的key |
del [keyName] |
删除一个key |
exists [keyName] |
判断一个key是否存在 |
rename [oldName] [newName] |
对key进行重新命名 |
expire [keyName] [seconds] |
设置某个key的过期时间,单位是秒 |
ttl [keyName] |
获取某个key的过期时间 |
type [keyName] |
获取key的类型 |
2 Jedis的使用
- 主页
- 使用步骤
1. 开放6379端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
2. 导入jar包
3. 代码实现
// 创建对象
六天项目一
1 BaseServlet 用反射根据用户名调用 方法
Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);
// 设置访问权限
method.setAccessible(true);
// 反射执行对应的方法
String result = (String) method.invoke(this, request, response);
//每个都设置有返回值 如果方法执行完成以后有返回值,就转发到对应的页面
if (result != null && result.trim().length() > 0) {
request.getRequestDispatcher(result).forward(request, response);
}
2 自定义BeanUtils String--Date转换
// 参数1 : 自定义的转换器
// 参数2 : 转换后的数据类型,对应的字节码文件
// 注册了一个自定义的日期转换器.这样的话,BeanUtils就会使用该转换器去处理Date类型的数据
ConvertUtils.register(new DateConverterUtils(), Date.class);
User user = new User();
// BeanUtils只能处理基本数据类型和java.sql.Date
// 因为我们的User中birthday字段使用的类型是java.util.Date
// 所以必须自己去实现一个转 换器
BeanUtils.populate(user, request.getParameterMap());
1注册
2登陆 记住用户名 自动登陆
3注销
3 用DButils封装从客户端来的数据时候 日期转化器
// 自定义的日期转换器 必须实现DButils中的 Converter接口 自己把String类型转换成Date类型
public class DateConverterUtils implements Converter {
// arg1:就是转换之前的数据.
// 对于本案例来讲,就是注册的页面中,生日输入框用户输入的日期
@Override
public Date convert(Class arg0, Object arg1) {
try {
// 需要处理的,就是把string类型的日期转换成java.util.Date类型的日期
// int i =10;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse((String) arg1);
评论暂时关闭