Linux基础知识

1.Linux基础
系统根目录结构:
|bin  用户级二进制工具
|boot  Linux内核镜像文件,由bootloader程序读取并装载
|dev  各种系统硬件设备
|ect  系统配置文件及其他配置文件
|home  用户工作目录
|lib  系统运行时所需的各种库文件
|opt  操作系统附带的一些应用程序
|proc  内核及进程所虚拟的系统文件
|root  管理员工作目录
|sbin  与bin的区别在于,该目录下的二进制工具程序仅用于管理员
|sys  一般是驱动程序对应的虚拟系统文件
|usr  管理安装的、所有用户都可以访问的应用程序
|var  系统运行时所产生的一些调试信息文件或者相关统计文件
  
2.系统的启动过程
开机并执行bootloader程序--->操作系统内核初始化--->执行第一个应用程序 

3.linux权限
可以使用 chmod (change mode) 命令来改变文件或目录的访问权限,权限可以使用符号或数字来表示,增加(+)和删除(-)权限,也可以指定特定权限(=)
  
 4.linux环境变量
 登录系统后,Shell会有一个初始化的过程,用来设置环境变量。这个阶段,Shell会读取 /etc/profile 和 .profile 两个文件,读取完上面两个文件,Shell就会出现 $ 命令提示符
 /etc/profile文件包含了通用的Shell初始化信息,由Linux管理员维护,一般用户无权修改 修改主目录下的 .profile 文件  设置默认终端类型和外观样式;设置 Shell 命令查找路径,即PATH变量;设置命令提示符   

 5.Linux网络通信工具
 ping 命令会向网络上的主机发送应答请求,根据响应信息可以判断远程主机是否可用
 ftp 是 File Transfer Protocol 的缩写,称为文件传输协议。通过 ftp 工具,能够将文件上传到远程服务器,也可以从远程服务器下载文件

6.linux管道

把两个命令连起来使用,一个命令的输出作为另一个命令的输入,这就叫做管道。为了建立管道,需要在两个命令之间使用竖线(|)连接。
 grep命令
 -v 反转查询,输出不匹配的行。例如,grep -v "test" demo.txt 将输出不包含"test"的行
 -n 输出匹配的行以及行号
 -l 输出匹配的行所在的文件名
 -c 输出匹配的总行数
 -i 不区分大小写进行匹配
sort命令
sort 命令,它将文件中的各行按字母或数进行排序
  -n 按照数字大小排序,例如,10会排在2后面;-n 选项会忽略空格或 tab缩进
   -r 降序排序。sort 默认是升序排序
   -f 不区分大小写
   +x 对第x列(从0开始)进行排序
 使用 pg 和 more 命令分页显示,每次只显示一屏 一次只显示一屏文本,显示满后,停下来,并提示已显示全部内容的百分比,按空格键(space)可以查看下一屏,按 b 键可以查看上一屏
  

---管理磁盘分区---

时经常会使用 df (disk free) 命令 

ubuntu挂载新硬盘操作指南
一、硬盘分区
1.显示硬盘及所属分区情况:sudo fdisk -lu
2.对硬盘进行分区:sudo fdisk /dev/sdb
二、硬盘格式化
1.显示硬盘及所属分区情况:sudo mkfs -t ext4 /dev/sdb1 -t ext4 表示将分区格式化成ext4文件系统类型
2.设置sdb1的卷标:sudo e2label /dev/sdb1 F  //这里/F 就是在/dev/sdb1根下起了个名字
3.sudo mkdir /F   sudo mount -t ext4 /dev/sdb1 /F
4.获取硬盘分区的UUID,然后挂载到启动:ls -l /dev/disk/by-uuid/
5.写入启动挂在点: sudo vim /etc/fstab 
df -h 查看硬盘分区   sudo umount /F 卸载硬盘分区
 
 ---命令部分---
find ./ -type f -name "$FILE_TYPE" | xargs grep -w -nr --color "$STRING"   查找字符串
find ./ -name "$FILE_TYPE" | xargs rm -fr    删除指定文件类型文件
find ./ -name "*.apk" 查找apk文件
wc -l package.sh 文件行数  wc -c filename:显示一个文件的字节数  wc -m filename:显示一个文件的字符数   wc -L filename:显示一个文件中的最长行的长度 wc -w filename:显示一个文件的字数        wc filename :输出信息依次是:行数 字数 字节数 文件名称.
file package.sh 文件类型
read 读取用户输入的变量
cut -b5-10 package.sh 指定欲显示的文件内容范围,每行第五个至第十个字符
basename package.sh  获取不包含路径的文件名
dirname package.sh 获取不包含文件名的文件路径
adb shell getprop | grep persist.sys.timezone   查找手机persist.sys.timezone的值
aapt d badging $STRING | grep package       launchable-activity  查看apk文件包名
--man,即手册,使用man *命令查询*命令的作用和用法
--find,用于查找某个文件或者文件夹,比如:find . -name "*.java",该命令用于查找当前目录下扩展名为java的所有文件
--grep,为正则表达式匹配命令,用于字符串匹配,比如grep "Activity" hello.java,查找hello.java文件中包含"Activity"字符串的所有地方
grep和find的区别在于,find用于查找目录或者文件,grep用于查找指定的字符串
--xargs,xargs不是命令而是一个标识,代表上一个命令执行结果作为下一个命令的参数
find `find . -name res` -name "*.xml"|xargs grep status_bar_size,查找当前目录下目录名称为res下的所有.xml文件,并且列出.xml文件中包含“status_bar_size”字符串的地方,find命令进行了嵌套使用,内部find包含在" ` "之中(数字键1左边对应的那个符号)
--chmod,用于设置对文件的访问权限
--ps,kill,ps用于列出当前运行的所有进程,kill用于杀死某个进程
--export,用于将某个变量值的作用域设为全局范围
croot   回到源码根目录下
godir   从当前路径直接跳到某个文件所在的目录
 basename --help
 basename [pathname]为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来 
 basename [pathname或string] [suffix]     suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉

 readlink 获取运行路径的小程序 

cal 命令来查看日历
修改密码:输入 password 命令
查看当前用户信息 使用 whoami 命令
查看当前在线用户 使用 users、who 和 w 命令
退出登录 使用 logout 命令
重命名文件可以使用 mv 命令     rm命令可以删除文件   cp 命令来复制文件
cat 命令来查看文件内容  cat 命令的 -b 选项来显示行号
使用 wc 命令来统计当前文件的行数、单词数和字符数
关闭系统(关机)
        halt 直接关闭系统
        init 0 使用预先定义的脚本关闭系统,关闭前可以清理和更新有关信息
        init 6 重新启动系统
        poweroff 通过断电来关闭系统
        reboot 重新启动系统
        shutdown 安全关闭系统
    *pr 命令用来将文本文件转换成适合打印的格式
   2.元字符是具有特殊含义的字符。* 和 ? 都是元字符
       * 可以匹配 0 个或多个任意字符;? 匹配一个字符。
   3.隐藏文件的第一个字符为英文句号或点号(.),查看隐藏文件需要使用 ls 命令的 -a 选项  查看目录和文件信息 ls -l
      * 匹配任意一个字符。如果你希望显示所有以 .doc 结尾的文件,可以使用 ls *.doc
    ~ 就表示主目录  / 代表根目录
    返回进入当前目录前所在的目录可以使用下面的命令$cd -
    获取当前所在的目录可以使用 pwd 命令
    使用 mkdir 命令来创建目录  mkdir 命令增加 -p 选项,可以一级一级创建所需要的目录
    使用 rmdir 命令来删除目录   (注意:删除目录时请确保目录为空,不会包含其他文件或目录)


 ---Git部分---

创建分支: $ git branch mybranch
切换分支: $ git checkout mybranch
创建并切换分支: $ git checkout -b mybranch
更新master主线上的东西到该分支上:$git rebase master
切换到master分支:$git checkout master
更新mybranch分支上的东西到master上:$git rebase mybranch
提交:git commit -a
对最近一次commit的进行修改:git commit -a –amend
commit之后,如果想撤销最近一次提交(即退回到上一次版本)并本地保留代码:git reset HEAD^
合并分支:(merge from) $ git checkout master
$ git merge mybranch (merge from mybranch)
删除分支: $ git branch -d mybranch
强制删除分支: $ git branch -D mybranch
列出所有分支: $ git branch
查看各个分支最后一次提交: $ git branch -v
查看哪些分支合并入当前分支: $ git branch –merged
查看哪些分支未合并入当前分支: $ git branch –no-merged
更新远程库到本地: $ git fetch origin
推送分支: $ git push origin mybranch
取远程分支合并到本地: $ git merge origin/mybranch
取远程分支并分化一个新分支: $ git checkout -b mybranch origin/mybranch
删除远程分支:                 $ git push origin :mybranch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值