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. CVE-2019-0213: Apache Archiva Stored XSS

    CVE-2019-0213: Apache Archiva Stored XSS Severity: Low Vendor:The Apache Software Foundation Version ...

  2. mimikatz记录

    mimikatz需要管理员权限运行 vps监听 nc -lvp 4444 服务器管理员权限执行 mimikatz.exe ""privilege::debug"" ...

  3. ajax _flask

    同步访问 当客户端向服务器发送请求时,服务器在处理过程中,浏览器只能等等,效率偏低 异步访问: 当客户端向服务器发送请求时,服务器在处理过程中,客户端可以做其他的操作,不需要一直等待,效率偏高 AJA ...

  4. rt-thread下调试elmfat 问题记录

    硬件平台:stm32f107   SPI flash:w25q32 RTT版本:v2.1 w25q32的驱动大神们已经写好(w25qxx.c),我只需要照猫画虎的实现相应SPI的驱动程序即可(bsp例 ...

  5. fwrite、write、fread、read

    1. write和read 1.1 write: 头文件:#include<unistd.h> 原型: ssize_t write(int fd,const void*buf,size_t ...

  6. Atollic TrueSTUDIO编译选项-优化设置

    最近在玩stm32f407,比较懒,就直接使用Atollic TrueSTUDIO,官方版本,还免费,但是编译后,一直感觉代码添加了优化,语句执行顺序和代码不一致,在线调试时,有些变量的数值被优化了, ...

  7. 配置基于centos下的远程Jupyter Notebook访问

    最近在学习一些服务器上的操作,学着熟悉Liunx系统,记录下自己踩过的坑吧 1.开机后更新系统: yum -y upgrade yum - y update 2.查看已安装的应用 yum list 3 ...

  8. MVVM框架-MVVMLight

    项目URL:http://www.mvvmlight.net/ 一.安装MVVMLight 在NuGet程序包中搜索MVVMLight,然后安装. 二.使用 安装完MVVMLight后项目中会自动生成 ...

  9. GEF中TreeViewer的叶子节点展开

    /** * GEF树叶子节点的展开 * @param items */ private void expand(TreeItem[] items) { for (int i = 0; i < i ...

  10. [Google Guava] 9-I/O

    原文链接 译文链接 译者:沈义扬 字节流和字符流 Guava使用术语”流” 来表示可关闭的,并且在底层资源中有位置状态的I/O数据流.术语”字节流”指的是InputStream或OutputStrea ...