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 [文件名]

分页显示文件内容
回车键查看下一行
空格键查看下一页
B查看上一页
Q退出查看

less [文件名]

与more类似,多了一些功能
比如查看行号less -mN [文件名]

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的输入内容
ps -ef | grep usr 从所有进程中找到包含usr的进程

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

存储数据
如果key已存在,覆盖之前的值

get [key]

获取数据

del [key]

删除数据

incr [key]

将key对应的数字+1
如果key不存在,默认为0

decr [key]

将key对应的数字-1
如果key不存在,默认为0

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]

获取集合中的数据
取值范围从start开始到end结束

lrange [listname] [start] -1

获取集合中的所有数据
-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
如果count > 0 ,从左往右删
如果count < 0 ,从右往左删
如果count = 0 ,全部删除
如果value是字符串,一定要用""引起来

lset [listname] [index] [value]

设置集合指定位置的值,会覆盖之前的值

linsert [listname] before [value1] [value2]

在value1之前插入一个新的值,value2

linsert [listname] after [value1] [value2]

在value1之后插入一个新的值,value2

rpoplpush [list1] [list2]

移除list1中最后一个值
将该值添加到list2的左侧

Redis存储Set类型数据

- 这里的set是一个无序set,该set不允许出现重复数据

1. 进入redis/bin目录,启动redis,命令 : ./redis-server redis.conf

2. 启动客户端,命令 : ./redis-cli

命令

作用

sadd [setName] [value1] [value2] ...

向set中出入数据
如果要插入的数据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]

获取指定元素在集合中的排名
分数最小的返回值为0,分数越高,返回值越大

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的过期时间,单位是秒
过期后这个key就会被删除

ttl [keyName]

获取某个key的过期时间
未设置返回-1,不存在返回-2

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);

相关内容