Linux命令

day01

1、增加用户

useradd 用户名

passwd 用户名

 

2、切换用户

su 用户名

 

3、查看目录下的文件和文件夹

ls

ls-a

ls-l目录有隐藏目录,是以“.”开头,使用-a可以查看

ll:查看权限

 

4、改变目录

cd

cd不带任何参数,是默认回到账户的home

.”  当前目录

..” 上一级目录

../..” 返回上两级目录

../../..” 返回上三级目录,两个点代表一级目录

 

5、显示当前目录

pwd

 

6、拷贝

cp

-f 强制,会覆盖

-r 递归

 

-i 提示是否覆盖,建议使用此参数

-a 相当于dpr

7、新建目录

mkdir

 

8、移动和改名

mv

重命名:

mv 旧文件名 新文件名;

mv bb bb1;

目录移动

mv 目录1 ./目录2;

mv bb ./aa; bb目录移动到aa目录下面

 

9、删除文件

rm

-i interactive交互模式删除文件,删除文件前给出提示

-r , 加此参数,才会删除目录(非空目录),递归删除,先删除文件,再删除目录

-f force强制删除.忽略不存在的文件,不提示确认

 

10删除空目录

rmdir

-p 当删除的目录所在的父目录为空时,一并删除

两种情况:

第一种:如果在a目录下删除b目录,那么只能删除b目录,不能一并删除a目录,因为用户使用的是a目录进行操作的

rmdir -p b;

第二种:如果在a目录的上一级目录删除a目录下的b目录,a目录为空,则可以一并删除

rmdir -p /opt/a/b;

 

11、创建空文件或修改时间戳

touch

第一次touch:创建文件

第二次touch:修改文件时间戳

 

12、改变文件或目录的权限

chmod

两种使用方法

第一种:使用字母和操作符来实现变更权限

第二种:使用数字来设定

 

(1).chmod使用字母和操作符

操作对象

u 用户;g 同组用户;o 其他用户;a 所有用户

操作符

+ 增加权限;- 取消权限;=赋予给定权限,取消其他权限

权限设置

r 只读;w 可写;x 可执行

文件名

支持通配符(* - 通配符,代表任意字符(0到多个)? - 通配符,代表一个字符)

这里面的通配符和数据库里面的_%意义相似

例子:有aa文件

chmod u+rw aa 给用户增加权限

chmod u-rw aa 给用户取消权限

chmod u=rw aa 赋予给定权限,取消其他权限

chmod u+r a*  使用通配符*

chmod u+rw a? 使用通配符?

chmod u+r,g+w,o+x a? 同时给用户,同组用户,其他用户添加权限,并且使用通配符?

 

(2).chmod使用数字来设定

数字属性,是用30-7的八进制表示,其实每组八进制是有三位二进制数字组成的,每位二进制数字对应一

 

个权限。

0 表示没有权限

1 表示可执行

2 表示写权限

4 表示读权限

顺序是 u g o

例子:

执行

Y W X

0 0 1 =1

0 1 0 = 2

0 1 1 = 3

1 0 0 = 4

1 0 1 =5

1 1 0 =6

1 1 1 =7

假如有aa文件 chmod 721 a?

 

ll:查看权限 =  ls -a

 

13、对登录用户发送消息

wall

例如:

wall hello

wall nidaye

wall < aa # aa是文件,就是把aa文件内容发送给用户

 

14.保存历史,只保存命令

history>dd

保存命令到dd文件里面

 

15、从内存同步硬盘,关闭之前的必须步骤

sync

 

16、查看内存的使用情况

free

-m m为单位统计,默认单位为k

 

17、系统处理器的状态监视

top

退出监控状态使用ctrl+z

 

18、查看文件系统的磁盘空间占用情况

df

-a 所有文件系统的磁盘使用情况

-k 千字节为单位显示

 

19、显示指定目录磁盘空间的使用情况

du

-a 递归显示目录各文件及子孙目录各文件占用的数据块数

-k 千字节为单位显示

以块为基本单位,一块=4K,默认是K

 

20、编辑器 vi

vi+文件名,新建或编辑文件。

分成Command mode(命令模式)Insert mode(插入模式)

 

viCommand mode

1、方向键,移动光标

2dd,删除整行

3xdd,删除x行,X是个动态数字

4u,回复上一个操作

5x,剪切,删除单个字符

6p,粘贴

7、按Ctrl+b:屏幕往前移动一页。

8、按Ctrl+f:屏幕往后移动一页。

9、按 G:移动到文章的最后。

10yy,复制整行,y是动态数字

11/pattern:从光标开始处向文件尾搜索pattern 从上往下

12?pattern:从光标开始处向文件首搜索pattern 从下往上

13n:在同一方向重复上一次搜索命令

14N:在反方向上重复上一次搜索命令

查找的字符串必须在可视化范围内,以单个字串为单位

 

viInsert mode

Command mode下,按iao进入Insert mode

1i,在光标处插入,在字母前面插入

2a、在光标处追加,在字母后面追加

3o、在光标下一行开始添加一行

4、按esc键,退出Insert mode

5、输入:q!,不保存退出编辑

   输入:wq,保存退出编辑

 

20、查看文件

cat

 

21、翻页查看

more 文件名

空格是向后翻页,回车是往下一行,只能向后翻页

more +5 aa 从第5行开始显示

more -5 aa  每页显示5

 

22、翻页查看

less 文件

可以前后翻页,使用page up page down(电脑上的按键)

more, less 都具备查找功能,在命令模式下,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,

 

大写的 N 则是往回()找,按 q(quit)或者ZZ离开

查找的字符串必须在可视化范围内,以行为单位

n 向下找

N 向上找

q 离开

 

23、查看文件的头和尾指定行数

head

tail

例如:

head -100 aa 只能是负的,显示前100条数据

tail -1 aa 显示最后一条数据

 

24、设置时间

date

例:设置时间为下午1436分。

# date -s 14:36:00

例:设置时间为20176812:00

# date -s "2017-06-08 12:00:00"

修改完后,记得执行clock -w,把系统时间写入CMOS

 

25、文件查找

find

例:

* 代表多个  ?代表一个

find  -name "*.log"  使用*符号更方便

find -name ????.log

find -name "pro*"

 

26、管道符和内容查找

|”,管道符,把前部分的输出通过管道符变为后部分的输入grep,内容查找命令

例如:

cat aa | grep "hello"

是打开aa文件,然后在aa文件的内容中,查找字符“hello

 

练习:在/var/log/messges 里面,messages是一个文件

方案1

(1).cd /var/log

(2).cat messages | grep "found SMP MP-table at"

方案2

第一步:cd /var/log

第二步:less bb

第三步:进入bb文件,使用 “/abcd...”查找要查询的字串

 

27、查看历史

history

例如:

history | more

 

28、输出重定向 >,>>

>,是定向输出到文件,如果文件不存在,就创建文件;

    如果文件存在,就将其清空;是覆盖。

>>,是将输出内容追加到目标文件中。如果文件不存在,就创建文件;

如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

例如:

cat wj>new wj覆盖new

cat bb>>new bb文件的内容追加到new文件后面

cat wj | grep "hello">>new 查找出wj里面涉及hello的行数据然后追加到new文件里面

 

29、挂载外边设备,一般使用命令挂载U盘,移动硬盘

mount

mount 源路径 目标路径

mount  /dev/sdc1 /mnt/usbd1  挂载设备

*虚拟机挂载时报错“无法连接到理想的主机控制器”,需要检查下虚拟机设置中usb控制器是否设置为兼容3.0

 

30、卸载已经挂载的外边设备

umount

umount /mnt/usbd1 普通卸载

umount -fl /mnt   强制卸载

 

31、查看系统进程

ps

例如:

ps aux |more ;查看所有进程

ps aux |grep 程序名;  查看单个进程

ps a    显示现行终端机下的所有程序,包括其他用户的程序。

ps u   以用户为主的格式来显示程序状况。

ps x   显示所有程序,不以终端机来区分。

32、杀掉系统线程

kill

例如:

kill -9 3423

kill -9 pid=kill -s 9 pid

9只是几十个信号中的一个信号,是强制尽快终止的标准符。

 

33、关机(虚拟机关机)

Shutdown h now 立马关机

Shutdown h 20:25 系统会在今天20:25关机

Shutdown h +10 十分钟后关机

reboot 就是重启,等同于 shutdown r now

halt 关闭系统,等同于shutdown h now poweroff

 

34jdk安装配置(根据自己的操作总结的)

如果上传失败的话,说明目录没有读写权限

(1).左键点击新建文件传输,弹出一个窗口,进行操作.

(2).tar包解压 tar -zxvf 文件名

tar.bz2类型文件使用  tar -jxvf  文件名

(3).进入jdkbin目录下复制路径,使用pwd,查看当前路径

/opt/software/jdk1.8.0_111/bin

(4).cd /etc

vi profile在最后一个export前面添加:

PATH=.:/opt/software/jdk1.8.0_111/bin:$PATH

 

.意思是在当前目录下

$PATH将之前的复制过来

(5). 配置文件生效

. /etc/profile

source /etc/profile

(6).查看jdk配置是否成功

java

javac

 

删除软件:rm -rf 软件名

 

35.环境变量的配置以及衍生的相关问题详细介绍版本

软件安装-jdk二进制

1.jdk环境,二进制安装

上传jdk压缩包,jdk-8u121-linux-i586.tar.gz

2.解压tar.gz文件使用命令tar -zxvf 文件名

解压tar.bz2类型文件使用 tar jxvf 文件名

3.配置环境变量

JAVA_HOME = /opt/software/jdk1.6.0_45

CLASSPATH = $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH = $PATH:$JAVA_HOME/bin

4.使/etc/profile修改生效。

(1)source /etc/profile                                  

(2).  /etc/profile     有空格

(3)、重启机器

5.检测环境变量配置是否成功

java

javac

 

常见错误:

环境变量配置错误,命令失效!

解决方法:

/opt/software/目录下执行以下命令,重新启动命令

 

export PATH=/usr/bin:/usr/sbin:/bin:/sbin

 

然后再去profile文件里面配置正确的环境变量

 

查看系统版本:uname -a

 

查看命令所在目录,which java

 

PATH环境变量、CLASSPATH环境变量、JAVA_HOME环境变量解释:

1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。

 

2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过 CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jartools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

 

 

3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk

 

36.软件包的两种形式:源代码方式和二进制包。

区别:

(1).二进制包里面包括了已经经过编译,可以马上运行的程序;

源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序。

source code 是程序员写的编码,需 rebuild 之后才能安装使用。

binary code 是机器可以直接运行的编码。 source code 得经过 compile 才能成为 binary code ,可以直接使用。

(2).一般情况下名字区分,二进制格式的包名字很长,都带有版本号、适应平台、适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包。

mysql-5.0.45.tar.gz 是 源码包    

像这样的 mysql-5.0.45-linux-x86_64-glibc23.tar.gz   是二进制包

(3).源代码包里的文件往往会含有种种源代码文件,头文件*.hc代码源文件*.cC++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)

 

37.

1、Java的安装目录是 /opt/java,

1)系统的环境变量的文件名和路径是什么?

2)请写出新添加的PATH内容,使java命令能在系统任意位置生效。

 

答:

1)文件是profile,路径是/etc/profile

2)PATH=$PATH:/opt/java/bin

 

2、文件 mysql-community-test-8.0.1-0.1.dmr.el7.x86_64.rpm

1)请写出安装命令是什么?

2)卸载命令是什么?

3)怎么查询之前是否安装了这个软件包?

 

答:

1)rpm -ivh mysql-community-test-8.0.1-0.1.dmr.el7.x86_64.rpm

2)rpm -e 服务名(这个服务名是根据具体情况,只要写出 rpm -e 即可)

3)rpm -qa | grep mysql

 

posted on 2017-07-07 09:28  半夏陌殇  阅读(232)  评论(0编辑  收藏  举报

导航