alias 别名
cp ./* ./dir/ 拷贝
cat 显示文本文件 cat -b
ls ,ls -l ,ls -lht
ln 链接
halt 关机
svn co 下载代码
svn ci 提交修改的代码 -m"必须写注释"
svn up 更新服务器上的代码
svn add 追加工程文件
ps -A |grep bluetooth 显示所有进程并查找出蓝牙的进程
top 显示进程相关信息
pwd 显示当前路径
pwd -P 显示当前真实路径
reboot 重启命令
sh shell 运行shell 脚本
sudo 普通用户使用root用户权限执行命令
su 切换用户
pkg-config 查看源码安装库的相关信息
pkg-config --cflags libpng 查看头文件路径 换行-I/usr/include/libpng12
pkg-config --libs 查看库路径
yum 软件安装工具
dpkg deb安装工具
Linux下的压缩解压缩命令详解及实例
实例:压缩服务器上当前目录的内容为xxx.zip文件
<<zip -r xxx.zip ./*
解压zip文件到当前目录
unzip filename.zip>>
<<ulimit 主要是用来限制进程对资源的使用情况的,它支持各种类型的限制,常用的有:
内核文件的大小限制
进程数据块的大小限制
Shell进程创建文件大小限制
可加锁内存大小限制
常驻内存集的大小限制
打开文件句柄数限制
分配堆栈的最大大小限制
CPU占用时间限制
用户最大可用的进程数限制
Shell进程所能使用的最大虚拟内存限制
其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
ulimit -c unlimited 解除core文件大小限制 以便于分析coredump产生的文件 如下所示
gdb a.tou core.xxx
>>
qmake qt 对应命令
rm 删除命令 rm -rf * 删除所有文件包括文件夹(不可恢复)
rpm 红帽安装包 rpm -ivh 等
mv ./* ./dir 移动 或者重命名
mkdir 创建目录
man 查阅相关手册
mount 挂载命令
kill process id 杀死指定ID进程
ldd 显示库的依赖项
nm 查看库的符号表
readelf 读取elf文件
objdump 显示库相关信息 objdump -t obj:输出目标文件的符号表()
locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境
<<locate 查找文件 locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db
当没有这个数据库或者需要更新时 用到命令updatedb>>
<<source 修改了/etc/profile文件,让它立刻生效,而不用重新登录;
这时就用source命令,如:source /etc/profile,
source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令
source filename 与 sh filename 及./filename执行脚本的区别
比如您在一个脚本里export $KKK=111
,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK
,发现没有值,假如您用source来执行 ,然后再echo,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果,
1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得,
./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的,
2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export,
3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面>>
<<export命令用于设置或显示环境变量,(在shell中常见)
export可新增,修改或删除环境变量,供后续执行的程序使用
export的效力仅及于该次登陆操作,如设置环境变量export youlong=999
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中,
-p 列出所有的shell赋予程序的环境变量>>
vi .barsh /etc/profile 设置环境 变量
vi :set nu 显示vi所编辑文件中行号
vi :xxx 跳转到对应行号
vi /string 查找字符串 n下一个
etc 显示环境变量
tar -xf 解压 tar -cf 压缩
scp ./* 192.168.5.110:/home/dongfang/ 远程传输
ssh ip 远程命令行登录
gedit 文本编辑工具
shell 脚本
enca 文件编码工具
init 3 init5 图形模式 命令行模式
make -j4 4个线程编译构建代码
mount 挂载
fdisk df 磁盘相关命令
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
rm -rf
find ./ -name *.txt |xargs rm -rf 查找当前目录文件txt 并删除
date 显示时间
file 显示文件属性
diff 显示两个文件的不同之处
echo 显示文本
useradd username 添加普通用户
passward username 创建用户口令
touch 创建文件
lspci 显示主板显卡声卡等硬件信息
ifconfig 显示网络配置ip地址等相关信息
chroot 切换账户,系统修复时候可能会用到
chgrp 修改组
enca 查询修改文件编码格式
env显示环境变量
>> 流入写入符号 将文件写入对应文件中 如 env>>./e.log 将环境变量写入当前路径e.log中
whereis 显示查找命令软件所在安装目录
mkdir 新建文件夹
ctrl + space 调唤初中文输入法
awk 强大文本编辑器 ,还有sed 以及grep
grep -Rin 'hello' * (递归忽略大小写显示行号 搜索当前文件)
Tab 双击补全名称
chmod 修改执行权限 421 可读可写可执行 chmod file 777 让file文件可读可写可执行
chown 修改拥有者
vi 编辑文件 i 进入编辑模式 Esc 进入初始太,:对应q ,wq wq!等
gcc
g++ -Dxxx 定义宏
g++ -Uxxx 注销宏定义
g++ -Wall 生成所有警告信息
g++ -shared 生成共享目标文件,通常用在建立共享库时。
g++ -static
此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
动态连接库,就可以运行.
g++ -O0 -O1 -O2 -O3
编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
g++ -g
只是编译器,在编译的时候,产生调试信息
g++ -Ldir
制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然
编译器将只在标准库的目录找。这个dir就是目录的名称。
g++ -llibrary
制定编译的时候使用的库
例子用法
gcc -lcurses hello.c
使用ncurses库编译程序
g++ -Wa,option
此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
g++ -Wl.option
此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
g++ -M
生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下,很简单。
g++ -MM
和上面的那个一样,但是它将忽略由#include<file>造成的依赖关系。
g++ -MD
和-M相同,但是输出将导入到.d的文件里面
g++ -O 制定目标名称,缺省的时候,gcc 编译出来的文件是a.out
g++ -E 预编译 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.
例子用法:
gcc -E hello.c > pianoapan.txt
gcc -E hello.c | more
一个hello word 也要与处理成800行的代码
g++ -s 只激活预处理和编译,就是指把文件编译成为汇编代码
例子用法
gcc -S hello.c
他将生成.s的汇编代码,你可以用文本编辑器察看
g++ -c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
gdb 调试程序 如:
<<
gdb a.out
r 运行程序
break test.cpp:10 在文件test.cpp 行号为10的地方打断点
n next 下一行下一步步执行
s step 进入函数内部
f finish 跳出函数
c continue 继续运行
l list 显示当前代码
bt 打印堆栈
delete breakpoint 1 删除断点1
disable breakpoint 1 禁用某个断点
enable breakpoint 1 启用某个断点
break 10
if
i==10 在第十行打上条件断点 如果变量i值为10 则在此行停止
ptype i 打印i的类型,如int char 等
whatis i 打印i的类型
info break 查看断点信息
info thread 查看线程信息
thread ID 切换到ID对应的线程
set variable=value 设置变量的值 test failed!
call name 调用和执行一个函数 call printf(“abcd”) test failed!
p print a 打印变量a 的值
q quit 退出调试
>>
wine 安装windows上软件,有点像windows上的vmware,cygwin
源码安装 ./configure make make install 三步曲
全局变量 LD_PRELOAD 预加载 程序库的覆盖替换 很有用,如 libpng12 替换高版本的png15,全局函数同名时可以替换,钩子函数的实现等。