Linux的简单介绍.

Posted King-D

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的简单介绍.相关的知识,希望对你有一定的参考价值。

Linux操作系统概述:

  Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linux Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了成千上百种不同的Linux系统.

  Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机,平板电脑,路由器等.尤其在这里提及一下,我们熟知的android程序最底层就是运行在Linux系统上的.

Linux分类:

市场需求分类:

  图形化界面版:注重用户体验,类似window操作系统,但是目前成熟度不够.

  服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们架设服务器的最佳选择.

原生程度分类:

  内核版本:在linux领导下的内核小组开发维护的系统内核的版本号.  

  发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本.

  Linux发行版本不同,又可以分为n多种.

 Lniux的系统目录结构

目录切换命令

    cd usr 切换到该目录下usr目录

  cd ../ 切换到上一层目录下

  cd / 切换到系统根目录下

  cd ~切换到用户主目录下

  cd - 切换到上一个所在目录

 目录操作命令(增删改查)

Linux操作系统命令格式:命令-[参数]

查看目录:ls-[al]

 ls:查看目录

  参数 - a 显示全部,包含隐藏

  参数 - l 列表形式显示

 增加新目录:mkdir

 mkdir 目录名字

    搜索目录和文件:find

  find搜索目录,也能搜索文件

    参数-name,以目录名或者文件名进行搜索.

  示例:在etc目录下,搜索名是"sudo*"

    find/etc -name "sudo.*"

修改目录名:mv

  mv 老目录名,新目录名

  示例:mv oldtest newtest

   如果修改后的新目录和老目录不在同一个路径下,产生剪切效果

  示例:mv oldtest /usr/local/newtest

 复制目录:cp

   cp复制目录命令

  参数-递归

  示例:将根目录下的test目录,拷贝到usr/local下.   cp -r test/usr/local

删除目录或文件:rm

  rm:删除目录命令

  参数 -r递归

  参数 -f 不询问

  示例:删除/usr/local目录下的test目录. rm -rf test

文件操作命令(增删改查)

创建文件:touch

  touch:创建新文件命令touch文件名

查看文件

  cat 命令查看文件,值显示文件最后一屏

  示例:查看/etc/sudo/conf.cat/tec/studo.conf

   more命令查询文件,显示文件百分比,回车下一行,空格下一页

  示例:查看/etc/sudo.conf. more/etc/sudo.conf

  less命令查看文件,支持pgUp,pgDn进行上下翻页.

  示例:查看/etc/sudo.conf less/etc/sudo.conf

  tail命令查看文件,支持显示的文件行数

  示例:使用tail -10查看/etc/sudo.conf文件的后10行

修改文件:vim编辑器

  vim:文件名

  vim编辑器有三种状态

  命令模式:

    只接收命令关键字,其他字符不接收通过输入相应的命令可以进入编辑模式

    进入编辑模式命令:i,o,a或者insert

  编辑模式:

  对文件进行内容编辑,任何字符都接受,内容编辑完毕以后,需要退出命令模式.

  退回到命令模式ESC键

  底行模式:

  进行保存或者退出操作

  命令模式进入底行模式:冒号

  底行模式:qw写入并退出,q!退出不保存.

 定位命令

  使用G进入到达最下面一行

  使用gg进入最上面一行

  :188  能够直接到达188行    可以在177行更改名字.

 搜索命令 

/daem +回车

查找到这个文件然后更改  no为yes

  

  

vim编辑器使用过程关于vim使用过程:

  vim文件-->命令模式-->输入i-->编辑模式-->编辑文件-->按下ESC--命令模式-->按下:-->底行模式-->输入wq保存并退出/q!强制退出并不保存.

压缩文件管理

Linux中的打包文件一般都是以.tar结尾的,压缩的命令一般是以.gz结尾的.而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz.

tar命令:压缩和解压缩

  参数: -z 调用gzip压缩命令压缩

  参数:-c打包文件

  参数:-C 在指定的目录解压缩

  参数: -v 显示命令的执行过程

  参数:-f 指定文件名

  参数:-x 解压缩

  示例:将test目录打成压缩包,压缩后文件名为test.tar.gz

  tar -zcvf test.tar.gz test

  示例:将test.tar.gz进行解压缩

  tar -xvf test.tar.gz

  tar -xvf test.tar.gz  -C/usr/local 解压缩到指定的目录

pwd命令:显示当前的目录

 其他命令

ps命令:查看进程:

    参数: -e显示所有程序

  参数:-f 显示UID,PPIP

kill命令:结束进程

  参数:-9 强制杀死该进程

grep:搜索命令

  搜索字符串,搜索文件

  示例:搜索/etc/sudo.conf中包含字符串"to"的内容

  grep to /etc/sudo.conf

  grep to /etc/sudo.conf --color

管道命令:

将前一个命令的输出作为本次目录的输入

  ls -al | grep.conf

网络命令:ifconfig

查看本机的网卡信息

网络命令:ping

查看与某台主机的连接情况

网络命令:netstat

查看本机被使用的端口号

  参数:-a显示所有连接

  参数:-n以网络IP地址代替名称

linux权限命令:chmod

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以查看某个目录下的文件或目录的权限

  示例   在随意某个目录下 ls -l

文件的类型:

  d:代表目录

  -:代表文件

  l:代表链接

后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的用户的权限,其他用户的权限

  r:代表权限是可读,r也可以用数字4表示

  w:代表权限是可写,w可以用数字2表示

  x:代表权限是可执行,x可以用数字1表示

  

chmod命令设置权限

  chmod u=rwx,g=rw,o=r aaa.txt

远程安装软件命令(联网使用):yum

Yum(全称为Yellow dog Updater,Modified)是一个在Fedora和RedHat以及CentOS中的软件包管理.基于RPM包管理,能够从指定的服务器自动下载RMP包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载安装

  参数:install安装软件包

  参数:list查看可以安装的软件包

  示例:查找可以安装的软件包

    yum list | grep gcc

    示例:安装gcc编译器

  yum install gcc

  linux操作系统下的redis数据库,是C语言源码形式出现的,因此需要C语言编译器编译为可执行文件

  远程下载需要的安装包,下载到/var/cache/yum/i386/6/base/packages目录下,安装完毕后自动删除

  查看软件的安装位置

  rmp -ql gcc

软件包管理命令:rpm

  rpm(Red Hat Package Manager)类似于window中的软件安装包

查看已经安装的软件包

  参数:-a查询所有软件包

  参数:-q表示查询

  示例:查询已经安装的java

  rmp -qa | grep java

卸载已经安装的软件包

  参数:-e 卸载

  参数: --nodeps 不检查依赖性

  示例:卸载已经安装的java

  rmp -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686

  rmp -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686

安装软件包

  参数: -i install 安装

  参数:v verbose 安装详细信息

  参数: h hash 显示进度

Linux操作系统部署JDK

  linux版本JDK上传到linux系统中的/usr/local下

  tar -xvf解开压缩包

    tar -xvf jdk-8u191-linux-i586.tar.gz

  配置环境变量

    进入/etc目录中,编辑文件profile

    以下代码复制到profile文件中

    

#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_191
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

保存并退出

  从新加载环境变量

  命令为: source   /etc/profile

  测试:任意目录下输入javac

安装成功:

 

Linux系统部署Tomcat

  linux版本tomcat上传到linux系统中的/usr/local下

    tar -xvf解开压缩包

    tar -xvf apache-tomcat-8.5.37.tar.gz

  开放Linux8080端口对外访问

    /sbin/iptables -| |NPUT -p tcp --dport 8080 -j ACCEPT

    /ect/rc.d/init.d/iptables save

  启动和停止tomcat服务

    tomcat解压目录/bin下 ./startup.sh

    tomcat解压目录/bin下 ./shutdown.sh

Linux系统部署MySql数据库

  linux版本mysql上传到linux系统中的/usr.local下

  卸载系统中自带的MYSQL

    查询系统中是否已经安装了MYSQL rpm -qa | grep mysql

    xiezai MYSQL rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686

  解压MYSQL压缩包

    tar -xvf MYSQL -5.6.22-1.el6.i686.rmp-bundle.tar-C /usr/local/mysql

    由于Mysql解压后没有文件夹,很多文件比较凌乱,必须选创建目录mysql,将所有的文件解压缩到该目录下

  rpm命令安装

    安装Mysql数据库服务器 rmp -ivhMySQL-server-5.6.22-1.el6.i686.rmp

    安装M有SQL数据库客户端 rmp -ivh MySQL-client-5.6.22-1.el6.i686.rmp

    启动MySQL服务 service mysql start

    MySQL服务添加到系统中 chkcofig --add mysql

    跟随系统启动 chkconfig mysql on

  设置root密码

    MySQL首次登录: mysql -uroot -p密码

    首次安装的随机密码:vim /root/.mysql_secret保存在词文件中

    登录MySQL,设置密码:

    进入到mysql中以后使用命令:set password = password(\'root\'),重新设置密码

  授权远程连接

在mysql中执行

    默认情况才musql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限

    grant all privileges on*.*to\'root\'@\'%\'identified by \'root\';

    flush privileges;

  开放3306端口

    /sbin/iptables -| INPPUT -p tcp --dport 3306 -j ACCEPT

    /etc/rc.d/init.d/iptables save

Linux系统部署redis数据库

  linux版本redis上传到linux系统中的/usr/local下

    解压redis

    tar -vxf tar -xvf redis-3.2.9.tar.gz

  make命令编译redis的C语言源代码

    进入解压后的redis目录下的src目录,因为没有安装c++编译器,所以在执行过程中报错

    安装好c++编译器以后,

    输入make命令即可

  启动redis服务器

    进入redis解压目录下的src目录

    ./redis-server

  后台启动

    将redis解压缩目录下的redis.conf文件复制到src下

    编译redis.conf文件,原有的daemonize no 修改为daemoniza yes

    启动redis ./redis-servejr redis.conf

    启动redis客户端 ./redis-cli

  关闭redis服务器

    ./redis-cli shutdown

补充:解决SSH中文乱码

  在linux的/etc/sysconfig目录下有一个i18n的文件代表linux的系统编码,将其从utf-8修改为GBK重新连接linux即可

    

 

以上是关于Linux的简单介绍.的主要内容,如果未能解决你的问题,请参考以下文章

博客园排版简单介绍

为啥这段代码会泄露? (简单的代码片段)

Linux的简单介绍.

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?