最近在做Android 组件开发,经常需要在Ubuntu下编译库文件,因此要用到一些基本Linux命令,这里把一些基本的Linux命令列出,方便查询和交流:
1:man 查询某个具体命令的用法
eg: man ls (按q键或Ctrl+c 可以退出此命令)
2:printenv 查看和设置环境变量(配置环境变量的时候经常用到)
eg: printenv 查看用户全部的环境变量
printenv USERNAME 查看USERNAME环境变量的值
export USERNAME = alohaha11 设置USERNAME环境变量的值为alohaha11
unset USERNAME 取消设置的USERNAME环境变量值
3:ls 列出目录下的文件清单(包括子目录)
ls -l 详细列出某个目录下的文件清单(包括子目录)
4:chown 把一个文件的所有权修改为其他用户
chown -R username filename
(注:只有root才有权进行这种操作)
5:chgrp 改变一个文件所属组
chgrp -R groupname filename
6:chmod 更改文件的访问权限
三个字符(r,w,x)一组组成数据段,其分别表示的含义:
第一组表示文件所有者的访问权限 (user)
第二组表示文件所在分组的访问权限 (group)
第三组表示全系统的访问权限 (other)
--- 表示无访问权限 (对应数值 0)
r-- 只读权限 (对应数值4)
rw- 读写权限 (对应数值6)
rwx 读写可执行权限 (对应数值7)
eg:chmod -rwxr-xr-x file1 或 chmod 755 file1 表示所有者拥有file1文件的读,写和执行权限,其他人拥有读和执行权限。
chmod u+x file2 表示为user(即所有者)添加执行权限。
chmod a-x file3 表示为user,group和other'均取消执行权限。
7:pwd 显示当前工作目录
8:cp 拷贝(原文件存在)
eg:cp a.txt b.txt (将a.txt 拷贝成b.txt )
cp a.txt /opt/a.txt 将当前路径下文件 a.txt 拷贝到/opt目录下
cp a.txt /opt/b.txt 将当前路径下文件 a.txt 拷贝到/opt目录下并命名为b.txt
9:mv 移动文件或更改文件名(原文件会被删除)
eg:: mv a.txt /opt/b.txt 将当前路径下文件a.txt 移动到/opt目录下并命名为b.txt (a.txt则不存在)
mv a.txt b.txt 将a.txt 更名为b.txt
10:rm 删除文件或文件夹
eg:rm a.txt 删除a.txt文件
rm -r test 删除test子目录及其子目录中的所有文件和目录
11:find查找文件
eg :find /tmp -atime 7 -print 查找/tmp目录中至少7天没有被访问过的文件,并按列打印显示文件名
find ./ -name "a*" -exex rm {}\ 查找当前目录中名字以a开头的文件并删除
find /home -name "*.txt" -size +10k -print 查找/home目录下长度大于10k的txt 文件,并按列打印文件名
12:mkdir 创建目录
eg: mkdir -p /tmp/mydir/mysubdir (参数-p 表示可以在没有上级目录的情况下完成子目录的创建)
13:rmdir 删除目录
eg:rmdir -p /tmp/mydir/mysubdir (参数-p可以连同上级子目录一块删除)
14:tar命令 文件解压缩(解压缩命令针对不同的压缩方式,有很多种不同的解压缩方式和命令)
eg:tar -cvzf apache.tar.gz /usr/src/apache (建立包含/usr/src/apache目录中全部文件经gzip压缩 名为apache.tar.gz 档案文件)
eg:tar -xvzf apache.tar.gz (解压缩此档案文件)
15:cat 显示文件内容
eg:cat /test/thread.c 将thread.c文件内容显示到控制终端
cat /test/b.txt /opt/a.txt > /home/c.txt 将文件a.txt 和b.txt合并到c.txt中
16:du 磁盘操作
eg:du -sh /home
17:ps 显示进程信息
eg:ps -aux
(其中-a 表示 列出带有控制终端的全部进程, -u列出进程的所有者,-x 列出没有控制终端的进程)
18:top 动态的列出进程信息(每隔2~3秒会刷新进程信息)
19:kill signal pid ( 向进程发送信号)
eg:kill -9 593 (向进程593发送信号9,表示杀死进程)
eg:kill -s 可以查看有哪些信号
20:su 改变用户身份
eg:su 切换到root用户,
eg:su alohaha11 切换到普通用户alohaha11
21:重定向命令
> 输出到文件 eg: cat a.txt > b.txt (将文件a.txt输入到b.txt,b.txt以前的内容将被覆盖掉)
>>输出到文件尾部,即追加文件 eg: cat a.txt > >b.txt (将文件a.txt输入到b.txt,文件内容追加到b.txt尾部)
< 发送文件作为输入 eg :grep “alohaha11” < a.txt (输出a.txt中包含alohaha11的内容)
22:clear 和date
clear 清屏
date 显示当前时间
23:cd .. 进入上级目录
eg:cd ../.. 进入上上级目录
24:mount [参数] 要加载的设备载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
25:whoami,whereis,which,id
whoami:确认自己身份
whereis:查询命令所在目录以及帮助文档所在目录
which:查询该命令所在目录(类似whereis)
id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
26:history 显示用户用过的命令
27:!!执行最近一次的命令
28:passwd 设置口令
29:head和tail 显示文件的开头部分和结尾部分
eg:head a.txt 显示文件的前十行
heas -n 20 a.txt 显示文件的前二十行
tail a.txt 显示文件的后十行
tail -n 20 a.txt 显示文件的后十行
tail -f a.txt 显示文件的后十行,在内容增加的情况下,显示增加的内容
30:sed 行编辑器命令
eg:查看文件n行到n+m行之间的内容 sed -n “n,n+mp” a.txt
查看指定字符创之间的内容 sed -n “/string1/,/string2/p” a.txt
31:网络命令ifconfig、ifup、ifdown。