Linux:开源

  Ubuntu

  Centos

   Deepin

  Debian

  Linux mint

。。。

1、省钱

2、省资源

Linux由unix演化而来

  Linux:开源

  Unix: 闭源 solary ibm

vmware:

  宿主机

  虚拟机

  客户机

安装所有软件必须要在没有中文没有空格的路径下

在vmware上安装centos:

用户:

  root 密码:hadoop //超级用户

  centos  密码:hadoop

Centos命令提示符:

[centos@localhost ~]$

[用户名@主机名 当前路径]$

Centos基本命令

   ls //列出当前目录下的文件和文件夹

  ls / //列出根目录.....

   ls -al / //

   ll / [ls -l] //以长列表形式输出

   cd / //切换到根目录

   clear[ctrl+l] //清屏

   su root //switch user切换用户

   which ls //查看可执行文件位置

   pwd //查看当前路径

   exit //退出当前用户

   mkdir //创建目录

   mkdir -p //创建多级目录

  find . //递归输出指定文件夹内容

   rm -rf * //删除文件和文件夹

  echo //回声

> //覆盖重定向

   >> //追加

  cat 1.txt //查看文件内容

  ctrl+c //强制退出

  ctrl+z //后台运行程序

  sudo //在当前用户临时使用root权限进行操作

  hostname //查看主机名

  whoami //查看当前用户

Centos文件结构(树形结构)没有盘符

  /为根目录,所有目录的父目录以.开头的文件和文件夹是默认隐藏的

  windows库文件:.dll dynamic link library

  Linux库文件:  .so shared object

  /boot //引导

  /dev //device设备文件

  /etc //配置文件

  /home/xxx //家目录 ~

  /media //媒体文件

  /mnt //挂载目录

   /opt //安装软件

   /proc //进程文件

   /root //root用户的家目录 ~

  /var /run //运行时文件

   /srv //服务文件

   /usr //用户级文件 软件、配置、可执行文件

   - //普通文件

   d //directory文件夹

   l //link符号链接[windows中的快捷方式]

  b //block块设备文件 磁盘、cd、分区

  c //字符设备文件

  s //socket套接字文件

  p //pip管道文件

Linux查看帮助:

  ls --help //一直是帮助

  man ls //人性化可读

   ls -h //有时是帮助,有时是其他参数

   info ls //详细信息

putty的使用:

   远程登录主机 putty

   mtputty 多标签putty

  注意:putty和mtputty安装路径不能有中文和空格!!

centos无法上网:

  1、网络没有打开:

     $> su root

     #> vi /etc/sysconfig/network-scripts/ifcfg-ens33

    将onboot改为yes即可

    重启客户机

Centos权限:

  1、u //user

  2、g //group

  3、o //other

   1、r //read 4

   2、w //write 2

   3、x //执行 1

修改权限:chmod //change mode 修改权限

  chmod u+w //user增加写权限

   chmod o-r //other去掉读权限

   chmod g-rx //

   chmod a+rwx //

   chmod 644

   user读写 group读 other读

     6       4       4

文件权限:

读:读 cat 1.txt

写:写 echo hello > 1.txt

执行:执行权限和读权限要共存 ./1.txt

文件夹权限:

读: ls

写: 增删文件(夹)

执行: cd,包括读和写

注意:一个文件是否能够删除,取决于此文件所属文件夹是否有写权限

注意:文件权限一般是644,文件夹权限一般是755

修改用户:chown //change owner修改拥有者

chown centos:centos aaa //仅修改aaa文件夹...

sudo chown -R centos:centos aaa //递归修改aaa文件夹权限为centos用户,centos用户组

vi的使用方法:

vi 1.txt

insert //进入到编辑模式

esc //退出编辑模式

:wq //保存退出

:q //不修改退出(未编辑)

:q! //不修改退出(已编辑)

退出编辑模式下的快捷方式

x //删除光标选中字符

dd //删除当前行

dG //删除当前行以下

普通用户使用sudo的方法:

  1、切换为root权限 //su root

  2、visudo

  3、添加centos    ALL=(ALL)       ALL

  4、保存退出

yum:

  sudo yum install -y nano //下载安装

  sudo yum remove -y nano //卸载

  sudo yum install --downloadonly --downloaddir=. nano //仅下载

  sudo yum localinstall *.rpm //本地安装

nano:

nano 2.txt

快捷键:

ctrl+o //保存

ctrl+k //剪切(删除)

ctrl+u //粘贴

ctrl+w //搜索

ctrl+x //退出

修改主机名

  sudo nano /etc/hostname

  改为s100

修改静态ip

  sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

  将BOOTPROTO="dhcp" =====> BOOTPROTO="static"

   将ipv6的所有yes改成no,或直接删除

  添加以下几行:

   IPADDR=192.168.23.100

  PREFIX=24

   GATEWAY=192.168.23.2

   DNS=192.168.23.2

然后重启网络:

  service network restart

vmware的网络类型

/home和/usr的区别? //和windows中的users文件夹和program Files文件夹的关系一样

Day_2

文件:

touch 1.txt

rm 1.txt

vi

nano:

ctrl+k

ctrl+u

ctrl+o

ctrl+x

echo hello > 1.txt

>>

cat

文件夹:

mkdir -p a/b/c/d

rm -rf a

find ls ll

文件的执行一般和读权限共存

文件夹执行:cd

权限:

User

Group

Other

chmod u+r

644

sudo chown -R  root:root a

桥接:

NAT:

仅主机:

环境变量:

export PATH=$PATH:tom

/etc/profile

source /etc/profile

tar:

tar -cf archeive.tar aaa bbb //归档

tar -tvf archeive.tar //列出归档文件的详细文件内容

tar -xf archeive.tar //解档

gzip:

gzip 1.txt //对文件进行压缩

gunzip 1.txt //对文件进行解压

gzip不支持文件夹压缩

解压.tar.gz后缀的文件:

tar -xzvf bbb.tar.gz

x:extract解压

z:gzip

v:verbose列出文件信息

f:file

mount

mount /dev/cdrom /mnt //挂载镜像文件

yum localinstall -y *   //本地安装目录下所有文件

umount /mnt //卸载镜像文件

安装vmtools:

0、右键虚拟机 ===> 选项 ===> 共享文件夹,先启动,然后设置相关目录

1、vmware中点击虚拟机选项卡 ===> 安装vmtools

2、mount /dev/cdrom /mnt

3、tar -xzvf xxx.tar.gz -C ~ //将压缩文件解压到指定位置

4、cd到解压路径发现可执行脚本

5、./vmware-install.pl

6、如果顺序颠倒,重新安装vmtools即可

yum在安装的时候,会将软件涉及到的相关依赖同时安装。

脚本:所见即所得 //perl shell javascript

java: 预编译

winscp:远程传输文件

链接:

ln aaa aaa.ln 硬链接 //不支持文件夹,原文件删除,硬链接仍然可以充当源文件

ln -s aaa aaa.ln 软链接(符号链接) //支持文件夹,源文件删除即失效

ln -sf BBB bbb2.ln //重构已有符号链接

pwd -P //查看当前路径的物理路径

安装jdk:

0、解压jdk到/soft文件夹

1、创建符号链接

ln -s /soft/jdk1.8.0_131 /soft/jdk

2、配置环境变量(/etc/profile)

#java环境变量

export JAVA_HOME=/soft/jdk

export PATH=$PATH:$JAVA_HOME/bin

3、使环境变量生效

source /etc/profile

4、检查jdk安装

java -version

查看进程的方式:

ps -Af //全格式全进程显示

netstat -anop //显示网络进程,全格式全进程

磁盘使用情况:

df -lh

内存使用情况:

free -h

echo $PATH //ok

echo ${PATH} //ok

echo "$PATH" //ok

echo '$PATH' //no

反引号:``

强制命令解析

echo `ls -al /` >> 3.txt

管道符:|

在当前命令的基础上做二次操作

抓取: grep

抓取含有指定内容的行

grep hello 1.txt

ll / | grep txt

for循环用法:

for NAME [in WORDS ... ] ; do COMMANDS; done //将word中的所有单词赋值给name,并通过do命令对逐个name进行操作

for x in `cat 2.txt`; do echo $x; done //分词并逐行打印

for ((i=1 ; i<10 ; i++)); do echo $i; done //普通的for循环

for循环打印99乘法表:

1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

#!/bin/bash

for (( i=1 ; i<=9 ; i++ )) ; do

for (( j=1 ; j<=i ; j++ )) ; do

echo -ne ${j}x${i}=$((j*i))'\t'

done

echo

done

echo :

echo -n //不换行

echo -e //解析分隔符:类似于'\t' '\n' '\r'

脚本中的解释器

sh #!/bin/sh

bash #!/bin/bash

while循环:

while (( $i<10 )) ; do echo $i ; done

#!/bin/bash

i=1

while (( i<10 )) ; do

j=1

while (( j<=i )) ; do

echo -ne ${j}x${i}=$((i*j))'\t'

j=$((j+1))

done

i=$((i+1))

echo

done

if:

整数比较:if [ a -xx b ]

注意:用作赋值时两边不能有空格,用做判断时必须有空格。

= //eq(equal)

> //gt(greater than)

<       //lt(less than)

!= //ne(not equal)

>= //ge(greater equal)

<= //le(less equal)

if [ $i -lt 5 ] ; then echo small ; elif [ $i -eq 5 ] ; then echo equal ; else echo big ; fi

if ((i < 5)); then echo small ; elif [ $i -eq 5 ] ; then echo equal ; else echo big ; fi

&&和||

a && b //a成功后执行b

a || b //a失败后执行b

组合任务:

~]$ (cd ~/ccc; rm -rf *) //不切换目录(运行完后仍在当前目录)

~]$ cd ~/ccc; rm -rf * //切换目录(运行完后切换到了另一目录)

注意:以上运行结果一样

/]# pwd

/]# /

/]# cd /tnp/test; rm -rf *

/]# -bash: /tnp/test, no such file or directory

...

... after for a while ...

...

^c

常用变量:

$# //参数个数

$1 //第几个参数

$0 //当前脚本(命令)名称

$@ //取出所有参数

shift //参数左移

使用tput实现变色:

#!/bin/bash

for (( i=1 ; i<=$1 ; i++ )) ; do

for (( j=1 ; j<=$1 ; j++ )) ; do

if (( i<j )) ; then tput setaf 1 ; elif (( i==j )) ; then tput setaf 3 ; else tput setaf 2 ; fi

echo -ne ${j}x${i}=$((j*i))'\t'

done

echo

done

作业:

使用for和while打印倒三角,并实现隔行变色

Linux 下基础命令的更多相关文章

  1. Linux下基础命令

      (1)ls(查看列表) (2)ls  -l(查看列出文件详细信息) (3)ls  -al (查看全部列出文件详细信息) (4)ls  -dl(查看目录信息) (5)pwd(查看当前工作的目录)   ...

  2. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  3. linux下svn命令使用大全

    最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...

  4. Linux下svn命令详解

    本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑. 1.Linux命令行下将文件checkout到本地目录 svn checkout url(url是服务器上的目录) ...

  5. linux下svn命令大全

    linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/p ...

  6. Linux系统基础命令

    这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...

  7. Linux下ls命令显示符号链接权限为777的探索

    Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录 ...

  8. Linux(三)——Unix&Linux 的基础命令

    Linux(三)--Unix&Linux 的基础命令 快捷键 Ctl-A 光标移动到行首 Ctl-C 终止命令 Ctl-D 注销登录 Ctl-E 光标移动到行尾 Ctl-U 删除光标到行首的所 ...

  9. Linux 下 make 命令 及 make 笔记

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...

随机推荐

  1. 关于cubic-bezier 贝塞尔曲线的简单了解

    在animation和transition两个属性中,cubic-bezier是控制变化的速度曲线,主要是生成速度曲线的函数 规定用法是: cubic-bezier(<x1>,<y1 ...

  2. 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API

    Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...

  3. centos搭建集群

    centos 搭建集群步骤 1.使用yum安装所需要的工具 yum -y install wget vim tcl gcc make 2.下载redis并解压 cd /usr/local wget h ...

  4. require.js 加载 js 文件 404 处理(配置无效)

    main.js 是 配置文件,data-main 是异步加载,如果在main.js未加载完成的时候,使用了require去加载文件,就会导致配置无效  main.js

  5. 超详细的Java面试题总结之JavaWeb基础知识总结

    ervlet总结: 在Java Web程序中,Servlet主要负责接收用户请求HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletR ...

  6. MySQL中SQL语句常见优化策略

    1.避免全表扫描 对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引. 2.避免判断null 值 应尽量避免在where 子句中对字段进行null 值判 ...

  7. 【SSH学习笔记】浅谈SSH框架

    说在前面 本学期我们有一门课叫做Java EE,由陈老师所授,主要讲的就是Java EE 中的SSH框架. 由于陈老师授课风格以及自己的原因导致学了整整一学期不知道在讲什么,所以才有了自己重新学习总结 ...

  8. libssh

    1.SSH概念 ssh(secure shell),安全外壳协议,由IETF的网络小组所制定.ssh为建立在应用层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议. ...

  9. Scrapy 中常用的中间件和管道组件

    Pipeline用法 储存到MongoDB pipline.py中的代码 import pymongo class MongoPipeline(object): def __init__(self, ...

  10. 模拟一个http 请求的json格式报文,带 rsa 签名操作

    一.对需要加密的字符串,定义RsaSignUnsign 类,代码如下: 实现了: 1.实现了生成新的pubkey.pri_key方法: 2.将新生成的keys 写入文件: 3.从文件获取pubkey. ...