Linux-ubuntu学习(第一天)

Linux第一天

1.Linux与Windows的区别html

Windows是桌面OS。Linux是做为服务器的OS。Linux做为服务器是更安全更稳定的。java

2.虚拟机的理解linux

学习java的时候有个java虚拟机JVM。若是想要在windows上运行java程序,须要安装java虚拟机JVM。java程序就是运行在java虚拟机上的。ubuntu

一样的道理,若是想要在windows上运行Linux,也是须要安装虚拟机的,这个虚拟机是VMWare。Linux就是运行在VMWare上的。windows

3.几个概念:tomcat

Windows:宿主机安全

VMWare:虚拟机服务器

Linux:Client机(能够有不少的)网络

4.Windows上安装VMWareeclipse

(1)使用管理员的身份运行包

(2)点击下一步

选择“自定义”,选择虚拟机安装的位置。

关于大数据的安装的软件,尽可能都是选择64位的软件,兼容性好,没办法的时候安装32位的软件。

(3)选择 “将共享虚拟机存储到”存储的位置(选择客户机安装的位置)

由于虚拟机里面能够安装不少的Linux客户机,这些客户机是很是占用内存的,因此要为客户机找一个100G左右的空间。

(4)不勾选:“启动时选择版本更新”、“帮助改善”、

(5)破解注册:打开生成的VMWare Workstation,在顶部的工具条中找到“帮助”--à”输入许可证秘钥”,输入下面的注册码:

若是注册码有问题去网上搜索新的注册码。

5.VMWare上安装ubuntu

(1)下载ubuntu的iso镜像文件

(2) 在vmware中“文件”--à“新建虚拟机”,选择“典型推荐”,选择镜像文件。(不勾选稍后启动操做系统不用管)。

(3)填写Linux主机名,用户名和密码:

记住这里的用户名和密码,这里就是登录到建立的这个客户机的用户名和密码。

  (4)填写建立的这个客户机的名称,选择安装的位置(前面设置的100G左右的空间)。

  (5)“最大磁盘大小—40G”,“将虚拟磁盘存储为单个文件”(就是咱们平时说的硬盘)。而后点击完成。进入系统以后输入用户名和密码就Ok了。

6.操做命令

默认是进入文本模式:

文本模式切换到鼠标的快捷键:Alt+Ctrl。

第一个表示的是用户名,第二个表示的是主机名:

7.Linux文件夹结构

(1)Windows是经过驱动器(就是常说的C盘、D盘)将磁盘的物理结构进行分区。

(2)Linux不使用驱动器,使用的是逻辑结构。“/”表示的是根目录,这个目录下有不少的子目录。

/:根目录

/bin:二进制目录,里面有不少的Linux命令,都是属于root用户(最高权限用户)的。

/sbin:也有不少的执行命令。

(上面的两个目录都在linux的环境变量中配置了。)

/dev:设备目录,好比磁盘、光驱、分区(Linux中一切都是文件/文件夹)

/etc:配置文件目录,能够理解为环境变量的目录

/lib:库文件,存放不少的.so文件(共享文件),是Linux须要的一些动态连接库文件。Windows也有一个动态连接库,存放不少须要的dll文件。

/lib64:就是64位的Linux须要的一些动态连接库文件。

/home:主目录,就是通常一个用户在Linux上就有一个家,家的位置就是/home,Linux能够有不少的用户,每个用户的家都是/home。好比ubuntu用户的家:/home/ununtu,ubuntu2用户的家就是/home/ubuntu2。~表示的就是当前用户的家:/home/ubuntu。

/root:root是最高权限的用户,他的家不在/home下,这个特殊用户的家是/root

涉及到的bin或者sbin目录里面都是有和命令有关的可执行文件,因此他们的路径在path中都有配置:

区分跟目录下的bin/sbin、usr下的bin/sbin、/usr/local下的bin/sbin:

(1)bin/sbin是老祖宗的命令;

(2)usr下的bin/sbin是ubuntu产品的命令

(3)/usr/local下的bin/sbin是用户自定义的命令

        从path中的命令的顺序能够知道先加载loacal下的,而后是usr下的,最后才是根目录下的,因此若是本身添加的可执行文件有和系统命令同名的状况,就能够把本身的命令放在local里面的bin或sbin下优先执行。

其余的目录就不具体的去看了。

8.Linux基本命令

Windows              Linux

Cd                        cd      //改变目录,进入制定目录

Cd /?                     XXX –-help()  //查看命令的帮助(help是两个杠,h是一个杠)

cd /?                     Man XX       //也是查看命令的帮助

cd /?                     info XX       //也是查看命令的帮助

Dir                        ls    //显示制定目录的所有文件,不包括文件权限、大小、所属用户/组等信息。

                            Ls -al://显示所有文件,包括以“.”开头的文件(隐藏文件)

                            Ls -l://显示所有文件,不包括以“.”开头的文件

                              ls -al | more   //查看一个屏幕大小的文件列表。|表示的是管道(前面的输出做为后面的输入)。more的做用是只显示一个屏幕大小的数据。按空格键翻到下一屏。q是退出。好比查看一个屏幕大小的ls帮助的使用:Ls –-help | more (两个线)。

                             ls -alh //人性化显示所有文件:

cls                          clear    //清屏

                            whoami//查看用户名   

                             which XXX//查看命令的位置

echo %java_home%             echo $path   //查看环境变量(windows不区分大小写,Linux区分大小写)

echo AAA               echo AAA //输出字符

                             cd ~ //回到当前用户的家目录--à /home/ubuntu

                             pwd //如今当前位置的路径

                            Sudo passwd //为root用户设置密码

                         su root//切换用户。须要输入密码,可是默认开始的时候是没有给root用户设置密码的,因此要首先为root用户设置了密码以后,才能进行用户的切换。切换以后能够看到用户变化了:

Ipconfig            ifconfig //查看ip

Ping XX            ping XX //查看网络链接状况

                       Man mkdir //查看mkdir命令的使用方法

                      Mkdir a//建立文件夹

                      Mkdir -p b/c/d //建立文件夹。包括子文件夹

                      Ls b/c/d//查看b/c/d下的文件和文件夹

Tree               find . //查看当前目录下的所有的文件、文件夹(.表示当前目录)

                       Find . | grep a//使用管道|(前面的输出做为后面的输入),使用过滤grep,查当前目录下全部包含a的文件或文件夹

固然也能够管道以后再管道:

Del                   rm -rf //删除文件

Rmdir                 rm -rf  a/b //删除文件夹,删除a里面的b

echo                    Touch hello.txtx //建立空的文件

echo hello > hello.txt       echo hello > hello.txt //建立文件并添加内容 ,覆盖模式

echo hello >> hello.txt      echo hello >> hello.txt //建立文件并添加内容 ,追加模式

type                 cat hello.txt // 查看文件内容

Nano 命令编辑文件内容(小文件):Nano 命令(ubuntu自带的编辑器):

Ctrl+O+回车:保存

Ctrl+X:退出

Ctrl+K :剪切

Ctrl+U:将剪切的内容复制出来

Ctrl+K:删除

Ctrl+W:在文件中查找串

Copy a.txt b.txt       cp  a.txt  b.txt//拷贝文件并重命名

Copy a.txt ..          cp a.txt ../a/b  //拷贝文件到上一个目录下的某个目录下,保持原来的名字

Copy a.txtx ../aa.txt    cp   a.txt   ../a/b/aa.txt  //拷贝文件到上一个目录下的某个目录下,并重命名

                   Cp -R b ../ //拷贝目录(R是大写的)到上级目录下

                   Mv a aa //移动目录并重命名(就只剩下aa了)

                   Mv a ../ 移动目录,保持原来的名字

                   Head hello.txt //显示文件的前10行

                   Head -3 hello.txt //显示文件的前3行

                   tail -3 hello.txt //显示文件的后3行

                  ps -ef //查看进程,通常结合管道使用:ps -ef | grep java

                   hostname//查看主机名

                  cat /etc/hostname //查看配置文件配置的主机名是什么

                  sudo XXX命令 //让当前用户用root用户的身份操做命令,若是这样仍是不行的话,就直接切换到root用户下去操做命令:su root

                 cd /etc,echo kubuntu > hostname //修改主机名(也能够用nano命令),(须要切换到root用户下进行操做)而后须要从新启动机器:reboot(须要权限,因此使用sudo reboot),而后就能够看到新的主机名了:

               Sudo reboot //重启机器

               Sudo shutdown -P now //关机并关闭电源(P大写)

               Sudo shutdown -r now //重启机器

               Uname -a //查看系统内核信息

               >> //表示重定向,tar –-help >> text.txt 想要查看tar命令的使用方式,能够将查看的内容放在一个文件中方便进行总体的查看。

               Tar -cvf //文件/文件夹归档(归档不是压缩)(获得的文件是.tar格式的):

                 Tar -tf //查看归档文件,可是不解归档:

                 Tar -rf //向归档文件中追加文件/文件夹:

                  Tar -xvf //解归档:

注意:归档文件是.tar ,压缩文件是.jar或者.war

                  Gzip -1 //压缩文件,原来的非压缩文件会删除(压缩以后的格式是.gz)

                    Gzip -d //解压缩(也可使用gunzip命令),原来的压缩文件删除

                   Tar -xzvf //解压缩,原来的压缩文件会保留(通常的时候都是解压缩gz格式的)

                  Find . | grep XX //find是以递归的形式查找目录下的所有文件或者文件夹。|是管道命令,前面的输出做为后面的输入,grep的做用是过滤,因此这个命令的意思就是找到包含XX串的文件/文件夹:

                 Xargs命令//将管道的输出内容放在一行并用空格分开,由于find执行的结果文件名是用换行符分开的,可是cp命令若是想拷贝多个文件,这多个文件必须放在一行用空格分开,因此若是想获得一行数据而且是用空格分开的,就用xages命令。注意“· · “这两个符合是与”~“放在一块儿的符号,叫作反引号,不是单引号,他的做用是将xargs视为命令:

                 “· · “反引号//将里面的内容视为命令,实现命令的嵌套,好比echo hostname是一个命令会输出hostname字符串,可是如今我想输出hostname的执行结果,就用反引号包起来,就是命令里面使用命令:

                 Mount//光驱的挂载(后面有介绍)

                 Umount //光驱的解挂载(后面有介绍)

                 Ln//建立连接

                 Ps -ef | grep tomcat//经过管道查看某个应用的进程,这里是查看tomcat

                jobs //查看正在运行的做业:

                 netstat -ano | more //查看端口启动状况:

                Kill -9 PID//杀死进程,PID是进程号

                  Dirname//查看文件/文件夹所在目录;

                   Basename//输出文件的基本名称

                   “``“(反引号)或者$//实如今命令中使用命令,就是能够把一个串解析为一个命令:

好比a.txt文件中内容是hostname,则想嵌套执行命令:

可是不能连着使用反引号,效果不行:

                                 & //启动某个程序的时候让他后台运行,好比安装配置好eclipse后,后台启动eclipse :eclise &

网上还有不少推荐的Linux经常使用的命令,好比:

https://www.cnblogs.com/yjd_hycf_space/p/7730690.html

https://www.cnblogs.com/gaojun/p/3359355.html

若是想使用windows的黑窗口命令和linux同样,能够在windows上安装一个软件,好比CygwinPortable工具,网上一大堆。

9.Linux的光驱

能够看到Linux如今有使用的光驱(能够看到是链接的状态):

(1)修改Linux使用的光驱

Linux可使用新的光驱,上面的第二个图标右键选择“设置“,添加新的景象文件(光驱):

一路选择“肯定“,而后选择第二个图标”创建链接“:

链接以后的状态是有绿色的小对勾的,这样就使用了新的光驱(镜像文件):

如今我想查看这个光驱里面的文件,就必须把这个光驱挂载到一个文件夹下。

(2)光驱的挂载

切换到root用户下,在/mnt/hgfs下建立cdrom文件夹用来存放挂载以后的内容。光驱里面的文件是存储在/dev/cdrom中的,可是不能在这个路径下直接查看,因此使用mount命令将光驱挂载到指定文件夹下,就可使用ls查看光驱里面的内容了:

(3)光驱的解挂载

挂载以后的光驱有能够进行解挂载。回到挂载的目录/mnt下,用umount命令进行解挂载,解挂载以后在/mnt/cdrom中就能够看到没有内容了,解挂载成功:

10.Linux的连接

(1)连接的分类

Linux的连接分为符号连接和硬连接。

(1_1)硬连接:就相似于双胞胎,一个变化了,另外一个会跟着变化,是实时的变化。

建立一个硬连接:

能够看到文件类型和文件大小是同样的,可是颜色仍是黑色的(相似于文件的复制):

若是对一个文件进行了修改,另外一个文件也会实时的进行变化:

可是若是删除一个文件,另外一个文件不会删除:

(1_2)符号连接

如今来建立一个符号连接,能够看到颜色是青色的:

而且能够看到文件类型和文件大小是不同的,可是他们存储的内容仍是同样的:

由于符号连接其实是快捷方式,因此他的内存确定是小的,原来的文件是不能删除的。平时在Linux中使用符号连接的状况比较多,简化文件的书写。简化路径。有的时候常常要去一个目录,可是层次不少,好比:/a/b/c/d,一个简单的方式就是为这个路径建立一个符号连接:

---去到符号连接指定的位置,显示的仍是符号连接:

---去到符号连接对应的物理位置,显示的是实际的位置:

11.查看环境变量值的几种方式(Linux是区分大小写的)

(1)Linux

注意:Linux的环境变量中的分隔符是冒号“:”。推荐使用${}。后面还能够加字符串。

(2)Windows

注意:Windows的环境变量中的分隔符是分号“;”

12.export命令

他是ubuntu的内置命令,内置命令的意思就是说没有对应的命令可执行文件。export的命令是导入环境变量。如今导入一下:

查看一下导入的环境变量:

注意:使用这种方式导入的环境变量是临时的,从新启动虚拟机以后导入的这个环境变量就消失了。

设置一个变量=系统的环境变量+自定义的环境变量(注意PATH大写,由于Linux是区分大小写的):

export中使用相似三元运算符(若是env为空就设置为evn2的值):

由于PATH存在,因此下面取的值是PATH的值:

清空自定义的环境变量:

相关文章
相关标签/搜索