Linux下的Android开发-Linux入门篇(一)

来源:互联网 发布:mysql nvl 编辑:程序博客网 时间:2024/06/03 20:12

本笔记基于黑马程序员28期中的Linux视频教程以及黑马46(还是56,这个忘了)期,视频链接: https://pan.baidu.com/s/1jIQJXXk 密码: knxc,这是基础入门篇章,对入门的小白更合适,高手的话请绕道哈

增强视频:
1.强烈推荐!!!Linux Guide for Developers-慕课网
2.Linux达人养成计划 I_linux入门视频教程-慕课网
强烈推荐!!!从小白到精通的教程:Linux vi/vim | 菜鸟教程

博主声明一下:我不是传智播客的什么托,只是一个菜鸟,现在在补着Java基础,搞了一套传智播客的Java视频以及Android视频,所以笔记可能会常出现这些字眼,请言语讽刺我是托的麻烦你闭嘴哈

软件准备

PS:一般作为服务器的电脑,我们都是使用电脑进行远程控制操作,推荐的软件:SecureCRT(支持ssh跟ssh2)
下载地址:SecureCRT+SecureFX 7.1.1.264整合版 - SSH和SFTP客户端 - 精品绿色便携软件
使用教程:SecureCRT的使用方法和技巧(详细使用教程)网络通讯软件教程_脚本之家

  • 如果发现SecureCRT无法链接,可能是sshd还没有启动或者安装,请按下面步骤进行

    • 第一,在Ubuntu终端Shell输入service sshd restart
      这里写图片描述
      如截图所示的话,说明Ubuntu还没有安装ssh服务,那么需再看下面步骤

    • 第二,Ubuntu启动sshd服务 - YinKailin的专栏 - 博客频道 - CSDN.NET

      sudo ps -e |grep ssh –检查是否启动了(看到有端口号说明已经启动了)
      sudo service ssh start –启动ssh服务
      sudo apt-get install openssh-client openssh-server –安装ssh服务

    • 第三,还是不行的话,可能就是端口还没有设置ssh协议:Ubuntu下iptables使用记录 - just_young的专栏 - 博客频道 - CSDN.NET

虚拟机小知识

  • 虚拟机网络连接模式中桥接模式和NAT模式的区别 - 封军 - 博客园
  • 使用Host机器ping 虚拟机电脑ip的时候提示显示ttl传输中过期的时候的情况下:
    这里写图片描述

    • 第一,关闭虚拟机,更改网卡链接方式为桥接方式(设置一个网卡即可,我设置两个时候经常经常吵架的)
      这里写图片描述

    • 还是不行的情况下:TTL传输中过期问题soochow新浪博客

  • 如果Ubuntu的TAB键自动补全功能失效,Linux Shell 按Tab键不能补全 - 低调的前进 - 51CTO技术博客
    这里写图片描述

搞机前需要安装的服务

  • chkconfig的代替工具–sysv-rc-conf
sudo apt-get install sysv-rc-conf
  • 安装ssh服务
sudo apt-get install openssh-client openssh-server
  • 安装Vim编辑器
sudo apt-get remove vim-common   --移除原来那个Vim编辑器sudo apt-get install vim         --安装Vim编辑器

Linux常用指令

  • 可参考博客:
    • 学习Linux二(创建、删除文件和文件夹命令) - 飝兒 - 博客园
    • 学习Linux三(Linux常用命令及技巧) - 飝兒 - 博客园
    • 学习Linux四(Linux必学60个命令) - 飝兒 - 博客园
    • 学习Linux五(Linux必学60个命令之【安装和登录】) - 飝兒 - 博客园
    • 学习Linux六(Linux必学60个命令之【文件处理】) - 飝兒 - 博客园
    • 学习Linux七(Linux必学60个命令之【系统管理】) - 飝兒 - 博客园
    • 学习Linux八(Linux必学60个命令之【网络操作】) - 飝兒 - 博客园
    • 学习Linux九(Linux必学60个命令之【系统安全】) - 飝兒 - 博客园
    • 学习Linux十(Linux必学60个命令之【其它命令】) - 飝兒 - 博客园

开启Linux装逼之旅

  • 切换到root用户:Ubuntu中root用户和user用户的相互切换 - 飝兒 - 博客园
su - root
  • 关闭防火墙
这里写代码片
  • 查询本机的ip地址
 ifconfig(类似win下的ipconfig)

这里写图片描述

  • 查看网卡名字
 ifconfig(类似win下的ipconfig)

这里写图片描述

  • 更改网卡的ip地址
ifconfig eth0 192.168.1.155 netmask 255.255.255.0

其中eth0是网卡名字,而netmask个人理解为子网掩码

这里写图片描述

  • 切换到root管理员
su - root

这里写图片描述

  • 显示当前目录所有的文件和目录信息
 ls       //list

这里写图片描述

ls -l

这里写图片描述

其中:
1. ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
2. ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
3. ls -al 列出文件夹下面所有的文件的详细信息,包括以’.’开头的隐藏文件。

  • 查看指定目录下边的文件信息
ls  XX目录 ls -l /home 

这里写图片描述

  • 寻找帮助
man ls

这里写图片描述

  • 查看当前所在目录的全路径 pwd

这里写图片描述

  • mkdir 创建目录   -p 父目录不存在情况下先生成父目录

这里写图片描述

这里写图片描述

  • 创建文件—>比如创建txt文件

    • vi–>vi a.txt

    :wq //在退出时,直接输入:wq会发现退不出去,退出方法是:编辑完成后按ESC,然后输入:q就是退出;还有:wq是保存后退出,加感叹号是表示强制

    • touch(生成一个空文件)–>touch b.txt
    • echo(生成一个带内容文件)–>
  • 查看文件内容 cat/tac
    区别:cat顺序显示文本内容,tac反序显示文本内容
    这里写图片描述

  • cp 复制文件或目录
cp [需要拷贝的文件名字] [拷贝那份文件的名字]

这里写图片描述

  • mv 移动文件或目录
mv aa.txt /home/yueyue/Downloads/a
  • wc 统计文本文档的行数,字数,字符数

这里写图片描述

这里写图片描述

  • rmdir 删除空目录(并没有什么卵用)

  • ln 建立链接文件(其实就是创建快捷方式的):每天一个linux命令(35):ln 命令 - peida - 博客园
    这里写图片描述

    这里写图片描述
    PS:上面出错的原因在命令行多了-s(不需要它的)

  • rm 删除文件
    -r 同时删除该目录下的所有文件
    -f 强制删除文件或目录

rm -rf c   //c是一个文件夹

这里写图片描述

  • more、less 分页显示文本文件内容

  • tail 查看文件尾部
    -f 用于监视另一个进程正在写入的文件的增长。
    -n num 从num变量表示的行位置开始读取指定文件

  • 文件查找命令-find

    • 命令格式: find [ files-or-directories ] [ options ]

    • 参数:
      -name
      按照文件名查找文件。
      -perm
      按照文件权限来查找文件。
      -prune
      使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
      -user
      按照文件属主来查找文件。
      -nouser
      查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。(当前的用户账户的基本信息。不过密码已经不在这里存储了)
      -type
      查找某一类型的文件,诸如:
      b - 块设备文件。 d - 目录。
      c - 字符设备文件。 p - 管道文件。
      l - 符号链接文件。 f- 普通文件。
      -mtime -n +n
      按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
      -size n[c]
      查找文件长度为n块的文件,带有c时表示文件长度以字节计。
      -depth:
      在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

这里写图片描述

  • 内容搜索命令-grep
    • 命令格式:grep [-acinv] ‘搜索字符串’ filename
    • 参数
      -c:计算找到‘搜索字符串’ 的次数。
      -i:忽略大小写的不同,所有大小写视为相同
      -n:输出行号
      -v:反向选择 ps –ef |grep telnet |grep –v telnet
      -l只给出包含给定模式的文件列表,而不给出文件中的匹配行
    • pattern正则表达式主要参数:
      \: 忽略正则表达式中特殊字符的原有含义。
      ^:匹配正则表达式的开始行。
      $: 匹配正则表达式的结束行。
      \<:从匹配正则表达式的行开始。
      >:到匹配正则表达式的行结束。
      [ ]:单个字符,如[A]即A符合要求 。
      [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
      .:所有的单个字符。
      * :有字符,长度可以为0。
//意思是在a.txt内容中查找jhk,下面两条命令是等价的cat a.txt |grep jhkgrep jhk < a.txt    //"<"这个符合代表重定向的意思

这里写图片描述

这里写图片描述

  • 系统信息显示命令

    • stat 显示指定文件的相关信息,比ls命令显示内容更多
      这里写图片描述

    • who、w 显示在线登录用户
      这里写图片描述

    • whoami 显示用户自己的身份(Ubuntu不可以分开写,centOS可以的)
      这里写图片描述

    • hostname 显示主机名称
      这里写图片描述

    • uname显示系统信息
      这里写图片描述

    • dmesg 显示系统启动信息
      这里写图片描述

    • ps 显示瞬间的进程状态
      这里写图片描述

      • 更多详情请看:linux进程及进程查看ps命令 - 双湖之梦的专栏 - 博客频道 - CSDN.NET

      • ps最重要的两条命令:
        ps -aux //显示系统的进程
        ps -aux | more //如果你觉得一次性显示全部看不到,可以试试这个,这个意思是先显示一页(在shell终端),然后选择Enter键继续向下看
        这里写图片描述

      • 图片列详解
        USER 启动进程的用户
        %CPU 运行该进程占用CPU的时间与该进程总的运行时间的比例
        %MEM 该进程占用内存和总内存的比例
        VSZ 虚拟内存的大小,以KB为单位
        RSS 占用实际内存的大小,以KB为单位
        STAT 表示进程的运行状态,包括以下几种代码: D 不可中断的睡眠; R 就绪(在可运行队列中); S 睡眠; T 被跟踪或停止; Z 终止(僵死)的进程。
    • top 显示当前系统中耗费资源最多的进程

      • 命令格式:top [-] [d] [p] [c] [S] [s] [n]
      • 参数:
        d 指定每两次屏幕信息刷新之间的时间间隔。
        p 通过指定监控进程ID来仅仅监控某个进程的状态.
        S 指定累计模式
        s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
        i 使top不显示任何闲置或者僵死进程。
        c 显示整个命令行而不只是显示命令名

    这里写图片描述

top一行显示解析 代表意思 21:16:57 当前时间 up 4:30 系统运行时间(格式为时:分),即系统从开机到现在的时间 1 user 当前登录用户数 load average: 0.68, 0.56, 0.46 系统负载,即任务队列的平均长度.(其中三个数值分别为1分钟、5分钟、15分钟前到现在的平均值)

更多详情请看:linux的top命令参数详解 - ggjucheng - 博客园

  • kill命令
    • 通常终止一个前台进程可以使用“Ctrl+C”组合键。但是,对于一个后台进程就须用kill命令来终止。
    • kill命令的格式:
      • kill [-s 信号|-p ] [-a] 进程号…
      • kill -l [信号]
      • 其中选项各选项的含义如下: -s 指定需要发送的信号,既可以是信号名(如KILL),也可以是对应信号的号码(如9) 。 -p 指定kill命令只是显示进程的pid(进程标识号),并不真正发出结束信号。 -l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。

更多详情请看:Ubuntu终止进程的方法(kill、pkill、killall) - Just Code - ITeye技术网站

  • 系统信息显示命令

    • du 显示指定的文件(目录)已使用的磁盘空间的总量
    • df 显示文件系统磁盘空间的使用情况
    • free 显示当前内存和交换空间的使用情况
    • ifconfig 显示网络接口信息
    • ping 测试网络的连通性
    • netstat 显示网络状态信息
    • man 命令帮助信息查询
    • Clear 清屏
  • 备份压缩命令

    • gzip 压缩(解压)文件或目录,压缩文件后缀为gz
    • bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
    • tar 文件、目录打(解)包
    • 备份压缩命令—tar
      • 命令格式:tar [-cxzjvf] 压缩打包文档的名称 欲备份目录
      • 参数:
        -c :建立一个归档文件的参数指令(即创建一个压缩文件的意思)
        -x :解开一个压缩文件的参数指令!
        -z :是否需要用 gzip 压缩(意思是使用gzip进行压缩的)
        -j :是否需要用 bzip2 压缩(意思是使用bzip2进行压缩的)
        -v :压缩的过程中显示文件(压缩过程中显示被压缩的文件名称,看下面截图就知道了)
        -f :使用档名,在 f 之后要立即接档名(意思是在我之后的那个是压缩文件的名称,强制需要)
        -tf :查看归档文件里面的文件

这里写图片描述

这里写图片描述

  • 关机/重启命令
    • shutdown系统关机
      • r 关机后立即重启
      • h 关机后不重新启动
      • now 立即关机
    • halt 关机后关闭电源
    • reboot 重新启动

20条常用命令

  1. 显示当前目录所有的文件和目录信息

    ls //list
    ls XX目录 //查看指定目录下边的文件信息

  2. 显示当前文件目录位置

    pwd

  3. 目录之间切换

    cd 目录名字
    cd .. 切换到上级目录

  4. 切换到完全命令模式

    init 3 进入命令模式
    init 5 进入可视化操作界面

  5. 用户切换到超级管理员

    su - root //$是普通用户 #是超级管理员
    su -
    su root //也可以切换到root用户,但是没有超级管理员权限

  6. 超级管理员切换回普通用户

    exit

  7. 查看当前用户是谁

    whoami

  8. 输出一个文件内容

    cat 具体文件

  9. 创建目录make directory

    mkdir hello
    mkdir hello/world
    mkdir -p first/second/third //递归创建3个目录

  10. 给目录改名字move移动

    mv 旧名字 新名字
    mv book.ods bread.ods
    mv first/second first/six //把second改名字为six

  11. 移动目录操作move

    mv 目标 新的地址
    mv bread.ods 目录
    mv ten/bread.ods first //移动,因为first目录存在
    mv ten/bread.ods firstt //改名字,并且移动文件到当前目录

    mv 目标 地址 //移动,只要地址是存在的目录就是移动
    mv 目标 地址 //改名字,地址只要不存在就是改名字

  12. 复制操作copy

    cp 源文件 复制文件
    cp -R 目录 目标目录 //复制”目录”需要添加参数-R
    cp 源文件 目标/新的名字 //复制的同时给起一个新的名字

  13. 删除目录、文件

    rm 文件 //删除单个文件
    rmdir 目录 //删除单个目录
    rm -rf 文件 //可以删除一切普通的目录或文件 递归recursive 强制force
    rm -rf / // kill your self

  14. 输出文件内容

    cat 文件 //一次性输出文件全部内容
    more 文件 //分页显示文件内容
    敲回车查看下边的内容,不支持回看
    中间停止:q
    显示内容百分比
    less 文件 //分页显示文件内容
    可以通过上、下、左、右查看文件具体内容
    停止:q
    没有百分比显示
    head -n 文件 //查看文件前n行内容
    tail -n 文件 //查看文件末尾n行内容

  15. 计算文件行数

    wc 文件 //计算文件行数

  16. 创建文件

    touch filename //创建文件

  17. 给文件添加内容

    echo content > filename //给文件添加内容[覆盖添加内容,原内容被删除]
    echo 内容 >> filename //给文件追加内容
    echo 内容 >/>> newfilename //会创建一个新的文件,并且有添加内容[重定向方式]

  18. 给系统增加一个用户
    user add/mod/del

    useradd username //添加一个用户
    该方式创建用户,并没有显示设置用户的组
    useradd -g NNN 用户名 //添加用户并设置组别
    useradd -g NNN -d 目录 用户名 //添加用户并设置家目录、组别
    useradd -u XXX 用户名 //添加用户并显示设置用户编号

18.1 修改用户

usermod -u 用户编号 -g 组编号 -d 家目录 用户名 //修改用户

18.2 删除用户

userdel -r 用户 //删除用户,并且删除家目录

  1. 给系统创建组
    group add/mod/del
    groupadd movie
    groupadd music
    groupadd -g XXX 组名 //添加组并设置组编号

19.1 修改组

groupmod -n 新名字 旧名字 //修改组的名字
19.2 删除组
groupdel 组名

  1. 查看系统用户信息

    cat /etc/passwd 用户信息
    cat /etc/group 组的信息

  2. 查看具体指令使用参数方法

    man 指令

  3. 给用户设置密码

    passwd 用户名


VIM编辑器的使用

这里写图片描述

  • VIM 使用的命令
    :q 直接退出vi
    :wq 保存后退出vi ,并可以新建文件
    :q! 强制退出
    :w file 将当前内容保存成某个文件
    :set number | nu在编辑文件显示行号
    :set nonumber |nonu 在编辑文件不显示行号

  • VIM 移动光标命令
    h :光标左移一个字符
    l :光标右移一个字符
    space:光标右移一个字符
    Backspace:光标左移一个字符
    k或Ctrl+p:光标上移一行
    j或Ctrl+n :光标下移一行
    Enter :光标下移一行
    w或W :光标右移一个字至字首
    b或B :光标左移一个字至字首
    e或E :光标右移一个字至字尾
    0:(注意是数字零)光标移至当前行首
    $:光标移至当前行尾

  • VIM 翻屏命令
    Ctrl+u:向文件首翻半屏
    Ctrl+d:向文件尾翻半屏
    Ctrl+f:向文件尾翻一屏
    Ctrl+b;向文件首翻一屏
    nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

  • VIM 插入文本命令
    i :在光标前
    I :在当前行首
    a:光标后
    A:在当前行尾
    o:在当前行之下新开一行
    O:在当前行之上新开一行
    r:替换当前字符
    R:替换当前字符及其后的字符,直至按ESC键

原创粉丝点击