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:
在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
- 命令格式: find [ files-or-directories ] [ options ]
- 内容搜索命令-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 显示整个命令行而不只是显示命令名
更多详情请看: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 重新启动
- shutdown系统关机
20条常用命令
显示当前目录所有的文件和目录信息
ls //list
ls XX目录 //查看指定目录下边的文件信息显示当前文件目录位置
pwd
目录之间切换
cd 目录名字
cd .. 切换到上级目录切换到完全命令模式
init 3 进入命令模式
init 5 进入可视化操作界面用户切换到超级管理员
su - root //$是普通用户 #是超级管理员
su -
su root //也可以切换到root用户,但是没有超级管理员权限超级管理员切换回普通用户
exit
查看当前用户是谁
whoami
输出一个文件内容
cat 具体文件
创建目录make directory
mkdir hello
mkdir hello/world
mkdir -p first/second/third //递归创建3个目录给目录改名字move移动
mv 旧名字 新名字
mv book.ods bread.ods
mv first/second first/six //把second改名字为six移动目录操作move
mv 目标 新的地址
mv bread.ods 目录
mv ten/bread.ods first //移动,因为first目录存在
mv ten/bread.ods firstt //改名字,并且移动文件到当前目录mv 目标 地址 //移动,只要地址是存在的目录就是移动
mv 目标 地址 //改名字,地址只要不存在就是改名字复制操作copy
cp 源文件 复制文件
cp -R 目录 目标目录 //复制”目录”需要添加参数-R
cp 源文件 目标/新的名字 //复制的同时给起一个新的名字删除目录、文件
rm 文件 //删除单个文件
rmdir 目录 //删除单个目录
rm -rf 文件 //可以删除一切普通的目录或文件 递归recursive 强制force
rm -rf / // kill your self输出文件内容
cat 文件 //一次性输出文件全部内容
more 文件 //分页显示文件内容
敲回车查看下边的内容,不支持回看
中间停止:q
显示内容百分比
less 文件 //分页显示文件内容
可以通过上、下、左、右查看文件具体内容
停止:q
没有百分比显示
head -n 文件 //查看文件前n行内容
tail -n 文件 //查看文件末尾n行内容计算文件行数
wc 文件 //计算文件行数
创建文件
touch filename //创建文件
给文件添加内容
echo content > filename //给文件添加内容[覆盖添加内容,原内容被删除]
echo 内容 >> filename //给文件追加内容
echo 内容 >/>> newfilename //会创建一个新的文件,并且有添加内容[重定向方式]给系统增加一个用户
user add/mod/deluseradd username //添加一个用户
该方式创建用户,并没有显示设置用户的组
useradd -g NNN 用户名 //添加用户并设置组别
useradd -g NNN -d 目录 用户名 //添加用户并设置家目录、组别
useradd -u XXX 用户名 //添加用户并显示设置用户编号
18.1 修改用户
usermod -u 用户编号 -g 组编号 -d 家目录 用户名 //修改用户
18.2 删除用户
userdel -r 用户 //删除用户,并且删除家目录
- 给系统创建组
group add/mod/del
groupadd movie
groupadd music
groupadd -g XXX 组名 //添加组并设置组编号
19.1 修改组
groupmod -n 新名字 旧名字 //修改组的名字
19.2 删除组
groupdel 组名
查看系统用户信息
cat /etc/passwd 用户信息
cat /etc/group 组的信息查看具体指令使用参数方法
man 指令
给用户设置密码
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键
- Linux下的Android开发-Linux入门篇(一)
- linux下的Android开发
- linux下tinyxml开发入门
- linux下tinyxml开发入门
- linux下tinyxml开发入门
- linux下android开发:
- linux下android开发环境的配置
- Linux下Android开发平台的搭建
- linux下android开发环境的配置
- linux下android开发的环境搭建
- Linux下,搭建android的开发环境
- linux下android开发环境的搭建
- Linux系统下的多线程编程入门一
- Linux系统下的多线程编程入门一
- Linux系统下的多线程编程入门一
- OpenCV入门笔记(一) Linux下的安装
- Linux入门学习(一) vmware下CentOS的安装
- linux下消息中间件ActiveMQ的入门笔记一
- 机器学习实战--kmeans实例讲解
- Android 启用线程的方法
- JWT介绍
- PhtoShop 快捷键
- js关闭窗口的几种方法
- Linux下的Android开发-Linux入门篇(一)
- ubuntu 16.04 eclipse not show menu
- SpringMVC
- ECMASript继承
- 图标和文字无法对齐处理方法
- 456. 132 Pattern
- Android运行时权限全解
- 面向对象-设计模式
- label 赋值和取值