liunx、android等常用命令。还有就是git版本控制

众所周知作为程序员的我们或多或少会接触到liunx重要,那熟悉liunx常用命令十分,下面是我开发中常用的命令,因为我是安卓开发的,所以可能有些命令是安卓adb shell中的,但还是有一些常用的liunx命令,下面就是我工作中常用的命令。
1.ls命令:主要是为了列出目录下的文件,-a,查询所有,包括以.开头的隐藏文件。该命令非常方便的查看文件及目录
-l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
-s 在每个文件的后面打印出文件的大小。 size(大小)
ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
ls -L 列出文件的链接名。Link(链接)
ls -S 以文件的大小进行排序

2.cp命令:该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。 cp -r是复制文件夹的,不加r是复制文件的。
cp -p a.txt tmp/ 复制时保留文件属性
cp -f file1 file2 将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

3.mv命令:全名move,表示移动(相当于windows上的剪切)、更改(相当于windows上的重命名)的意思。
mv haha.html haha.txt 将第一个文件改为第二个文件。
mv dir dir2 如果文件夹dir2存在的话,就将dir文件夹移到dir2里面。不存在的话就是将dir改名为dir2

4.cat命令:该命令有三个功能。
1.一次显示整个文件。 catfilename2. cat > filename 以cat>文件名 <<结束关键字
只能创建新文件,不能编辑已有文件.
cat 还有向已存在的文件追加内容的功能;cat >> linuxsir.txt << EOF
3.把多个文件连接一起并输出cat sir01.txt sir02.txt sir03.txt > sir04.txt

是创建 >>是追加
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

5.mkdir 命令:该命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
mkdir text 创建一个text的文件夹
mkdir -p text/text 创建一个text的文件夹并在text文件夹里面在创建一个text文件夹
mkdir -m 777 test3创建一个权限为777的目录
mkdir -v test4 创建新目录都显示信息

6.ifconfig命令:和ipconfig一样,
ifconfig显示网络设备信息(激活状态的)
ifconfig eth0 up
ifconfig eth0 down 关闭和打开指定网卡
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64为网卡配置和删除IPv6地
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255
ifconfig eth0 arp 开启网卡eth0 的arp协议;
ifconfig eth0 -arp 关闭网卡eth0 的arp协议;
ifconfig eth0 mtu 1500设置最大传输单元

7.route命令:route命令用于显示和操作IP路由表。(这个不太懂)

8.ps命令:用来显示当前进程的状态
PS -A 显示所有运行进程
ps -u root 显示指定用户信息
ps[参数]
ps -a显示同一终端的所有程序
ps c 显示进程的真实名称
ps -au 显示较详细的资讯
ps -aux 显示所有包含其他使用者的行程,列出目前所有的正在内存当中的程序
ps -f 显示程序间的关系

9.top 命令:动态的显示进程信息,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
top -d 3 设置信息更新时间,表示更新周期为3秒。
top -p 574显示指定的进程信息
top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

10.kill命令:杀死进程,发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,
将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
kill[参数][进程号]
kill –9 3268 彻底杀死进程
kill -l sigint 等是为了查找这个sifint对应的数字

11.chmod命令:用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。使用权限 : 所有使用者
chmod ugo+r file1.txt
chmod a+r file1.txt a与ugo等同
将档案 file1.txt 设为所有人皆可读取 :
chmod ug+w,o-w file1.txt file2.txt 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod u+x ex1.py 将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod -R a+r * 将目前目录下的所有档案与子目录皆设为任何人可读取 :

12.chown命令: 通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。
其操作权限一般为管理员。使用权限 : root
chown jessie:users file1.txt 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie
chown -R lamport:users *
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

13.rm命令:用来删除Linux系统中的文件或目录
如果没有使用- r选项,则rm不会删除目录
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished
删除所有rb语言程序档;删除前逐一询问确认 :
rm -i *.rb

14.find 命令:在目录结构中搜索文件,并执行指定的操作。
find +文件名 查找文件
find / -name “*” -print 要想让系统高负荷运行,就从根目录开始查找所有的文件。
find /etc -name “host*” -print 想要在/etc目录中查找文件名以host开头的文件,可以用:
find . -name “[a-z]*[4-9].log” -print 找以小写字母开头,结尾以4-9并且是.log的文件。
.或者是~代表当前目录及子目录
find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
根据文件类型来查找文件 -type
f// 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件

# -name //根据文件名查找(精确查找)
# -iname //根据文件名查找,但是不区分大小写
实例1:在test 目录下查找不在test4子目录之内的所有文件
命令:
find test -path “test/test4” -prune -o -print
find . -type f -atime -7 -print   #打印7天内被访问的文件find . -type f -ctime -7 -print #打印7天内被修改的文件

  1. grep命令:示全局正则表达式版本,它的使用权限是所有用户。用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。主要是查找文件里面的匹配项。
    如 grep 参数(-i、-c等) 条件(”haha”等)文件名(haha.txt)
    grep -c “48” data.doc #输出文档中含有48字符的行数即总共有多少行含有48这个数
    -i忽略大小写
    c :打印匹配的行数
    -v :查找不包含匹配项的行
    grep -n “48” data.doc #显示所有匹配48的行和行号,即打印每一行含有48的行数及这行的所有数据。
    # grep -n ‘^the’ regular_express.txt 首列开头为the
    行首与行尾字节 ^ (.)grepn. ’ regular_express.txt(\为转义符)

16.pwd命令:查看”当前工作目录“的完整路径
显示当前目录的物理路径 pwd –P
显示当前目录的连接路径:pwd -L

17.cd命令:切换当前目录至dirName
cd / 进入系统根目录
cd .. 或者 cd .. // 进入系统根目录可以使用“ cd .. ”一直退,就可以到达根目录

18.man命令:man的全称是manual,即手册。man的基本用法是 man + 命令。
例如,想知道pwd的用法,只要键入man pwd即可。
man 可以用来查询系统库文件中的一些函数定义和使用方法。
shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数。若不加数字,那man命令默认从数字较小的手册中寻找相关命令和函数。

接下来是安卓的几个常用的命令:
1.adb命令:我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,
可以让用户在电脑上对手机进行全面的操作
adb shell执行shell语句,adb devices查看设备
安装软件 adb install 软件名字.apk
卸载软件 adb unstall 软件名字.apk

2.logcat 命令:
显示全部日志信息:adb logcat
显示某一TAG的日志信息:adb logcat -s TAG名称
清理已经存在的日志:adb logcat -c
将日志输出到文件:adb logcat -f 文件名

adb logcat –b radio 加载一个可使用的日志缓冲区提供查看,默认值是main,(其中有4个,即main、radio、events、system)。
adb logcat -f /sdcard/log.txt log文件是输出到手机上,需要指定合适的路径。
adb logcat -s System.out 设置默认的过滤器, 如 我们想要输出 “System.out” 标签的信息
adb logcat -d 将缓存的日志输出到屏幕上, 并且不会阻塞;
后面跟着要输出的日志文件, 可以将 logcat 日志输出到文件中, 使用adb logcat > log 命令, 使用more log 命令查看日志信息;
–”-v”选项 : 设置日志的输出格式, 注意只能设置一项;
– “-v”选项 : 使用adb logcat -v time 命令, 可以啥看日志的输出时间;

          使用adb logcat -v threadtime 命令, 可以啥看日志的输出时间和线程信息;

–”-t”选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
–”-g”选项 : 查看日志缓冲区信息;
输出最近的日志 : 使用adb logcat -t 5 命令, 可以输出最近的5行日志, 并且不会阻塞;
以二进制形式输出日志 : 使用 adb logcat -B 命令;
过滤指定标签等级日志 : 使用 adb logcat WifiHW:D *:S 命令进行过滤;
– 命令含义 : 日志是 标签为 WifiHW, 并且优先级 Debug(调试) 等级以上的级别的日志;
–注意 *:S : 如果没有 *S 就会输出错误;

3.dumpsys命令:
Android提供的dumpsys工具可以用于查看手机中的应用程序和系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,
可以通过dumpsys | grep “DUMP OF SERVICE” 仅显示主要的Service的信息。关于这个命令的使用方法在这里做一下记录,以备使用。
adb shell dumpsys (activity)该括号里面可以是servic、alarm、wifi等,只要是什么就显示与该相关的。如activity就显示activity的相关信息,包括任务栈等;

4.am命令:启动程序;
am start -n 包(package)名/活动(activity)全路径
am start -n com.android.camera/com.android.camera.Camera//启动相机
am start -n com.android.browser/com.android.browser.BrowserActivity//启动浏览器
am start -a android.intent.action.CALL -d tel:10086//拨打电话
这里-a表示动作,-d表述传入的数据,还有-t表示传入的类型。
am startservice <服务名称> 启动一个服务:
am broadcast -a <广播动作>

5.settings命令:Android提供了一个命令行工具settings。这个工具用于帮助构造SettingProvider的客户端代理,从而可以方便的进行系统设置项的读取和设置。
adb shell settings put secure install_non_market_apps1 ,发现“未知来源”已经启用。这样,第三方恶意应用程序就可能被安装成功。
adb shell settings get secure default_input_method #获取系统默认输入法
adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME 更改默认的输入法
adb shell settings get system screen_off_timeout #获取屏幕休眠时间
adb shell settings put system screen_off_timeout 600000更改休眠时间,10分钟
adb shell settings get global auto_time 获取日期时间选项中通过网络获取时间的状态,1为允许、0为不允许
adb shell settings put global auto_time 0 更改该状态,从1改为0

6.input命令:adb命令可以模拟简单的按键事件,当触摸屏不好使的时候就可以用咯。上篇有提到adb devices命令,就是用usb连接到手机或平板,这个时候就可以用adb shell
命令打开手机或平板终端了。输入input 回车有:
你可以输入:input text “字符串” 方法只能对EditText输入AscII码的字符,对于UTF-8的字符是无法输入的
或一些按键事件:input keyevent Num(数字键代表不同的功能)
input tap 100 300 单击触屏事件 ,模拟点击x=100 y = 300 位置

**还有就是版本控制的。如git、svn等
我这里就给一个git的链接吧,感觉是真不错,可以自己照着上面操作一下:http://www.open-open.com/lib/view/open1414396787325.html。**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值