首页 > 代码库 > Linux

Linux

一个操作系统。

 

1.远程登录的方式:windows连接linux的方式。

   secureCRT;xshell;ssh;

   命令窗口连接:ssh 用户名@ip地址    现在win上安装ssh  bin目录加入环境变量;

 

2.上传下载文件:

   a.工具:xftp----->sftp协议;fileZille;winscp;

   b.命令:rz:上传。输入rz会弹出选择窗口;   只能上传文件不能文件夹

               sz:下载。sz 文件名;     ----->上传下载的路径在远程工具里面进行设置

               yum -y install lrzsz    ------>先进行安装

 

3./etc/rc.d./rc/local  开机启动的文件

4.[用户名@主机名 所在目录]$/#  $为普通用户;#为root用户;

5.注销:exit:字符界面;logout:仅文本终端;

   重启:reboot:可不接参数/接参数:-w;-d;-f

            shutdown:至少两个参数。-r 延时分钟数 “提示信息内容”;-r now 立即重启; 

   关机:halt;poweroff;init 0;shutdown -h now/延时分钟数 “提示信息内容”;

   -------必须root全新才能操作。

 

6.一般默认进入文本页面。

   修改/etc/inittab的initdefault参数,修改默认启动的界面;

   3为默认进入文本界面,5为图形化界面

   输入init5或startx切换到图形化界面;输入init3切换到文本页面;

 

7.用户:useradd 用户名 ------>添加用户;

           passwd 用户名 --------->给用户添加密码;

           usermod ------->修改用户

           userdel 用户名 -------> 删除用户;

    所有用户都在/home目录下;

 

     切换用户:su;

                   su 用户名:不会加载用户的环境变量;

                   su - 用户名:会加载用户的环境变量;

 

   id和whomi 可查看当前登录的用户

   pwd 查看当前目录

 

  环境变量:不管在哪个路径下都能使用

   source 重新生效

 

8.用户组:groupadd 组名 ------->添加组;  ------------练习添加和删除组

               groupmod  -g 组的新id -n 新组名 旧组名  -------->修改组;

               groupdel 组名 -------->删除组

 

 9.查看ip地址:ifconfig         ip a;

10. /bin全部放的为可执行的文件

     /usr 用户自定义的

    /sbin 操作系统本身运行的一些命令

     /etc 都是配置文件

     /tmp 临时文件

    /lib 空文件

    /var日志等文件

   /home 所有用户的家目录

 

11.vi 文本编辑器

     默认进入的是命令模式,按键进入编辑模式:i 当前位置;a下一位置;o下一行;

     esc退出编辑模式:      q为退出;!为强制;w为保存

                                    输入:wq保存退出;q;q!;wq;w;!;

     新建文件:vi 不存在的文件名--->输入内容保存--->文件添加成功;

 

     查找:命令模式下输入 /往下查找内容;输入?往上查找;

             按键n跳到下一个,N跳到上一个;

 

  

     编辑:命令行模式下输入

              nyy:n是行数,yy是复制

              p:粘贴

              ndd:n是行数,dd是删除;直接输入dd是删除一行;

              G:光标移动到末尾

              命令模式下输入:set number/:set nu 显示行号;取消行号:set nonu

              :数字       就跳到第几行

 

    y是复制,d是删除,%是全部

              :第几行,第几行y/d/

              :%y/d

             :第几行,第几行s/被改的内容/改成什么/g    /g是改全部,不加是改每行的第一个;

             :%或第几行,第几行 g/被删除的内容/d   ---->删除包含内容的全部行;

 

 

 

13.文件相关命令:

    a.查看文件:  ls:查看目录里的所有文件 ;  

                       ls  -文件名:查看单个文件;

                       ls -l:查看文件详细信息     ---->ls -l 所有文件详细信息,ls -l 文件名 文件的详细信息;  <===>ll

                       ls -a:显示隐藏文件;        --------->ls -la显示所有文件的隐藏信息

                       ls/llM* 查看M开头的所有的文件;

              alias 造命令    ---->例,想直接输入命令就切换到某个路径:alias cdn=‘cd /usr/local‘

              unalias去掉,取消别名;

              .bashrc 用户的命令配置;

              source  刷新文件  ----->例,修改了文件后刷新文件:source .bashrc

 

    b.切换目录:cd 目录路径

                     cd/cd ~/cd -/cd ..     ---->直接回家目录/上一次操作目录/上一级目录

                     root的家目录在/root; cd .代表当前目录,..表示上级目录;../..代表上两级目录;

 

    c.复制文件/文件夹:cp -rf 文件或文件夹都可复制,直接覆盖   ----->cp -ef 文件名/目录  目的目录

       两台电脑之间复制:scp 文件名 用户名@ip:目的路径

 

     d.mv:移动和重命名;

               移动:mv 文件 目的目录;mv -f 文件 目的目录  -->直接覆盖,不提示;

               重命名:mv 文件  新的文件名

 

     e.pwd:显示当前路径;

     f.删除文件/文件夹:rm    ------>rm -rf 删除并没有提示;

     g.mkdir 名称:创建目录

        mkdir -p 目录:如果父目录不存在会自动创建;

     h.rmdir只能删除非空文件夹;

     i.查看文件内容:cat/more/less             ------------>ctrl+c退出more ;q退出less

                           不能分屏的显示内容,适合看内容少的文件/后两者能分屏的显示--一页一页的显示,下一页按回车键/用于看日志啥的

                           tail 文件名:默认显示后10行;   tail -f 文件名:会动态的去看,就是前台在访问时,会实时的显示日志之类的;ctrl+c退出

                           head 文件名:默认显示前10行;

 

env查看环境变量

 

14.ln:创建软连接,就跟windows的快捷方式一样

15.du -sh 目录/文件/*  目录/文件的大小

    df 硬盘使用多少;df -lh 硬盘已用和未用的大小

16.lsof 文件名:显示文件被谁打开了,被哪个机子打开了;

        lsof -i :端口号    查看端口号是否被占用   有进程但是没有操作是看不到;

        natstat -nlpt|grep 80 只要能查到说明是被占用了,查不到就没被占用;

 

17.chmod 赋权限

     a.数字权限:r=4 w=2 x=1      chmod 777 文件名

     b.文本权限:chmod -/+r/w/x 文件名;chmod u/g/o/a+r/w/x

     c.给文件夹赋权限  要加-R   ------> chmod  -R   g+wxr  文件夹名

                          

18.更改用户组:chgrp 组名  文件或用户名    --->只有root用户才能进行修改

                      chgrp 组名  文件夹名 --->只会修改文件夹的组,里面的不修改;加上-R 会连文件夹里的内容的组一起更改   chgrp -R 组名 文件夹名

                      chown  改变用户和组   ----chown [-R] 用户:组 被改的目录     -R是目录及目录里的全部都改

                      使用权限是root权限

 

19.wc统计文件的行数,字节数,字数等

     最常用的是 wc -l 统计行数先执行完前面的命令,再用后面的进行统计

     | 管道符   前面的结果给后面的命令        ls |wc -l  先执行完前面的命令,再用后面的进行统计

   

20.clear   清屏

     history 查看之前输入的命令

 

搜索命令:

  grep  查找文本的内容    grep 参数 “搜索内容” 文件名  ---无参数时输出匹配行,就是包含搜索内容的那一行全部输出

                                                                              -c 输出匹配的行数,一共多少行包含搜索内容 

                                                                              -v 输出不匹配行

         经常和管道符一起用    ps -ef 查看所有进程     ---ps -ef|grep mysql

  find  查询文件和文件夹    find 路径 -name 文件/文件夹名   ---find / -name java

                                    不加路径默认当前路径

 locate 直接从数据库里搜  比find快   但是需要安装

whereis   搜索程序名并只能是二进制文件

 

打包:gzip [-1...9][] 文件     ---多用于日志的备份  

                解压 gunzip 文件名

         zip 文件.zip 文件      unzip 文件.zip 解压         需要yum安装unzip

         tar [参数] 文件.tar 文件

              c/x/v   打包用c,解压用x    v显示正在打包哪个文件;z 压缩   ---tar czvf 文件.tgz/文件.tar.gz 文件

 

ps查看进程   常用的ps -ef 

top 动态的

ps与top区别   ps是静态的,只能看某一瞬间;top是动态的

 

kill 终止程序    kill -9 [进程pid]          立即停止

 

后台运行:&;      nohup .... run &   关闭终端也能后台运行   输出在 nohup.out里面  可以tail -f nohup.out动态的看

 

定时任务:crontab  格式为“M H D m d cmd”  ---分钟 小时 天 月 星期 运行的程序

               * * * * * sh /opt/lampp/test.sh 没分钟都执行

               30 21 * * *  /usr/local/apache/bin/apachect1 restart 表示每晚的21:30重启apache

               crontab -e 进入编辑界面   与vi的一样  输入i 进入编辑模式

               touch 不存在的文件名   创建空文件;touch 已存在的文件名    更新文件的时间;

 

 

linux软件安装:

  rpm         ---不需要加环境变量

     rpm   -ivh jdk.rpm     安装

     rpm -e jak.rpm   卸载,不需要指定版包的版本号

     rpm -qa   查看所有以rpm安装的软件

 

 

  > 是重定向,原来的东西会被覆盖    ---例,cat a.txt > b.txt 将a.txt的内容复制到b.txt中

                                                           rpm -qa >b.txt 将查询出的内容都重定向到b.txt文件中

  >>不会覆盖原来的东西

 

  yum安装:自动的去安装,不需要下载安装包

                 yum -y install        -y是全部同意

                 yum list install |grep 文件    查询文件是否安装

                 yum remove mysql 卸载yum安装的mysql

源码安装:

    1.生成makefile编译文件

    2.make编译

    3.make install

 

chkconfig --list 目前系统有哪些服务

chkconfig iptables off/on 开机不启动/开机启用        ----必须是yum安装的

       iptables 防火墙;network 网络;httpd apache;nginx nginx;

 

 

 

/ect/rc.d/re.local 开机启动文件

 

date 看当前时间   date +‘%Y%m%d %H:%M:%S  格式获取

cal查看日历

 

 

awk ‘{print $2}‘ 取第二列   

 

 

shell脚本:命令的集合,会自动化的去执行一些命令

               批处理:把命令集合起来,全部一起执行

               交互式:执行一条返回一个信息

               linux的shell是bash  shell    ---把写东西解释给计算机

               .sh结尾的;windows是以.bat结尾的   ---vi test.sh

               echo ""    输出

               chomd 给test.sh加执行权限

               ./test.sh  或 bash test.sh   执行

               在脚本中一般加上#!/bin/bash   ---告诉计算机是用bash shell 执行的   #表示注释

               pid=`` 赋值    =号左右不能有空格

               $pid    取值

               里面要写绝对路径

               if判断:

                  if [ $pid ]      ---$pid左右必须有空格      ---当取到了值

                  then

                  执行接下来的

                  else              ---没有取到值

                  echo ‘已经停止了‘

                  fi    ---结束if循环

 

                  查进程一定要查唯一的值

                 

 

 

 

 

            

 

Linux