一.文本行方式下的常用命令:
--help 查看所有的参数
--version 查看版本
whereis 查看在什么目录下存放这个文件
touch 建立空文件
cp 拷贝文件
mv 剪切或更名文件
rm 删除文件和目录
ln -s 建立软链接,若不使用-s参数,则是建立硬链接(相当于cp -p file1 file2)
mkdir 建立新目录
rmdir 删除目录
file 此命令可以浏览每个文件的类型
cat #cat file 将文本文件发送到屏幕上 #cat file1 file2 可以依此读取多个文件
head -n10 file 查看前10行
tail -n10 file 查看后10行
权限:
用ls -l命令来查看详细信息时,得到的第一列是10个字符,第一个字符若是-,则表示是一般文件,否则是目录或者另一个文件的链接,后9个字符每3个一组,
分别表示文件拥有者的权限,文件拥有者所在组的权限,其他用户的权限
chmod 777 file 此命令用来设置权限,7代表111,6代表110,依此类推,第一位表示r,第二位表示w,第三位表示x
chown 改变文件拥有者
chgrp 改变组拥有者
wc file 取得文件中的行数,字数,字符数
find 目录 -name 文件名 在指定目录及子目录搜索指定文件
locate aaa 搜索文件名含有字符串aaa的文件
grep Hello * 在当前目录中搜索所有包含字符串Hello的文件
命令组合:
使用管道|,来把几个命令组合起来使用
echo $PATH 显示环境变量的取值
PATH="$PATH:." 在环境变量中加上当前文件夹,这样以后运行程序的时候就不用再加上./了,但是这样的方法在下次再登录系统的时候就会失效了,
可以通过编辑主目录中的.bashrc文件来做到每次登录系统都有效,将本句话加到该文件的最后
kill 5000 停止执行中的程序,5000是PID
ps aux 列出系统目前的所有进程
You have new mail in /var/spool/mail/root
这是linux默认的cron服务,每天会报告系统的情况,并以mail的形式告诉你
你只要 输入 mail就可以了
mount -t vfat /dev/sda1 /mnt/u 这是用来挂载U盘的,-t vfat指明文件系统的格式,/dev/sda1是指U盘,/mnt/u是指挂载到的地址
umount /mnt/u 这是用来卸载U?
clear 用来清屏
.bash_profile文件中若增加HISTFILESIZE=0,则不记录使用过的命令.
二.双启动的问题
现象1:安装时出现“自动分区时出现了下列警告:引导分区/boot可能没有满足您的体系的引导制约参数,大力提倡您创建一张引导软盘”
现象2:为什么WIndows、Linux双引导后出现grup而进不去Linux
改进1:使用PatitionMagic,使得Linux分区原来处于NTFS分区中间的情形得以改变,使得所有的NTFS都位于最前;换句话说,就是把Windows中最后一个分区删除掉。
改进2:安装时,弄清楚下列数据,当然每台机器都不一样:hda9 /boot ; hda10 / ; hda11 swap
改进3:记住以下命令:
root (hd0,9)
kernel /boot/vmlinuz root=/dev/hda10 //hda10就相当于hd0,9
boot
三.使用vi编辑器
/aaa 搜索所有aaa字符串
:!ls -l 加特殊字符!,就可以在vi中调用shell的功能
四.NS2
1.NS2安装手记:
(1) 安装NS2:
先把tar.gz文件解压,然后会出现一个ns-allinone-2.29的文件夹,里面有个install文件,在终端中执行./install即可
(2) 设置环境变量:
只有设置好环境变量,才能自由地使用ns命令,而不用输入完整的路径再输入ns.
环境变量的设置如下:
export
LD_LIBRARY_PATH="/home/finix/Tools/ns-allinone-2.29/otcl-1.9:/home/finix/Tools/ns-allinone-2.29/lib"
export TCL_LIBRARY="/home/finix/Tools/ns-allinone-2.29/tcl8.4.5/library"
export PATH=$PATH:/home/finix/Tools/ns-allinone-2.29/bin
(3) 试运行ns
终端中输入:
cd /home/finix/Tools/ns-allinone-2.29/ns-2.29/tcl
cd 进入一个项目中
ns ***.tcl
则一个仿真环境就跑起来了.
(4) 若在ns-2.29目录下运行./validate,则会自动测试所有的tcl
五.C语言编程
1.后缀名为小写的.c是指C程序,大写的.C是指C++程序
2.man strcpy 使用这个命令可以查找到strcpy()函数的在线帮助
man -S 2 printf 使用这个命令能找到printf的在线帮助,因为man分为3个区段,区段1是命令的在线帮助,区段2是C语言系统调用函数说明,
区段3是标准函数库的说明
3.Ctrl+C 结束死循环程序
4.cpp file.c file.i 查看经过预处理后产生的文件
5.makefile的简单建立:
#此符号之后的而都是注释性的语句
#有附属行就必有命令行,但是注意,命令行一定以Tab开头
myfile: filea.o fileb.o filec.o
gcc filea.o fileb.o filec.o -o myfile
gcc -c filea.c
fileb.o: fileb.c head.h
gcc -c fileb.c
filec.o: filec.c head.h
gcc -c filec.c
#以上就是一个makefile文件了.
六.Linux工具的使用
1.Prozilla
Prozilla也是一个十分流行的命令行下载工具,支持多线程下载和断点续传功能。
可到http://prozilla.genesys.ro/下载最新的1.3.7.4安装包.
下载安装包后使用如下命令进行安装:
#tar zxvf prozilla-1.3.7.4.tar.gz
#cd prozilla-1.3.7.4 #./configure
#make #make install
Prozilla命令格式如下:
#proz [参数] [下载地址] 常用的选项有: -k=n :设置n个线程下载。不加此参数指定线程数,Prozilla默认为4线程下载。
上网下载 prozilla1.3.6的tar.gz文件,然后安装.
其命令格式是:
proz -k -r 下载地址
七 有效利用shell
1 bash有两个基本的系统级配置文件; /etc/bashrc 和 /etc/profile, 前者包含的是shell变量,后者包含的是环境变量;前者只在shell中固定(如:bash中),后者在不同的shell中都是固定的.
2 对shell变量运行export时,实际上使其变成环境变量,环境变量相当于全局变量,也可以在程序中使用.
3 要想查看当前的PATH,可以使用命令: echo $PATH
4 改向输入与输出:
(1)一般,标准输入来自于键盘,但是如果数据放在一个文件中,那么可以使用小于号改向到程序中,例如,下面将database_data文件的内容改向到database_program中;
# database_program < database_data
(2)要把标准输出保存到一个文件中可以使用大于号:
# ls > filelist
但是一个大于号是覆盖了filelist中原有的所有内容,若写成:
# ls >> filelist
则是附加在filelist文件的末尾
(3)也可以组合使用这些改向箭头,如:
# database_program < database_data > database_output
5 输出与输入管道:
# ls -l | more
管道”|”取得ls -l 命令的标准输出,将其作为标准输入发送到more命令
6 后台运行
# ./install &
符号”&”使得install在后台运行
如果程序要计算pi值,算到无穷位,则这个程序要很久才能完成.如果没有使用&,则要先用Ctrl+Z暂停程序的运行,再用bg将程序放到后台运行.
7 别名:
输入alias命令就可以得到替换的命令表
8 引号:
单引号:shell不处理任何变量和命令
双引号:shell处理变量,但是不处理任何命令
反引号(位于Tab键的上方):shell把反引号中的每一个单词作为一个命令,如果是变量则先求值,然后作为一个命令处理.
如:# echo “Welcome $NAME, the date is `date`”
八、Linux读书笔记
1、挂载U盘的方法:
(1)先在mnt目录下建立u文件夹
(2)在终端中写:mount -t vfat /dev/sda1 /mnt/u
注:sda1就是硬件上的u盘
(3)卸载的时候写:umount /mnt/u
2、查看环境变量:输入命令:echo $环境变量名
3、修改环境变量:修改用户主目录下的.bashrc文件,在其中加上一行:PATH="$PATH=/mydir"
4、使用ls来查看所有文件,包括最前面是.的隐藏文件:ls -a
若要查看文件比较详细的内容:ls -l a.txt
5、当想搜索一个文件名中带有abc的文件的所造目录,使用:locate abc
这个命令会自动搜索一个数据库,对于这个数据库的更新可以使用:updatedb
6、使用重定向:
(1)使用:cat > abc.txt 的效果就是:把此后你在终端上所有的输入写进abc.txt文件中,如果要退出,则按Enter键到一个空白行,
然后按Ctrl+D退出。
(2)若输入:cat abc.txt ,则abc.txt文件会显示在终端上。
(3)若输入:cat a.txt b.txt > c.txt 其效果就是把b.txt加到a.txt的末尾,然后再输出到c.txt。
(4)后补重定向:cat a.txt >> b.txt 即:把a.txt的内容加到了b.txt的末尾。
(5)重定向输入:cat < a.txt
7、管道:就是将一个命令的输出作为另一个命令的输入,两个命令中间用"|"连接。
如:etc文件夹下文件太多,用ls来看不能分屏显示,借助less工具,命令是:ls -al/etc | less
又如:使用grep来查看文件中特定词的位置:cat myfile | grep word
8、head和tail命令:
查看文件前30行和后50行的方法:head -30 myfile ; tail -50 myfile
9、grep搜索是区分大小写的,如果要不区分,加上"-i"
10、bash的说明很长,如果想把它重定向到一个文本文件中查看,可以:man bash | col-b > bash.txt
11、自动补全:如果输入了文件名、命令或者路径名的一部分,按Tab键,bash就会把剩下的部分补全。
12、vi的操作模式
(1)Command Mode:控制光标的移动,删除字符、段落复制;直接输入i或a或o进入Insert模式
(2)Insert Mode:新增以及修改文字,按ESC返回Command Mode
(3)Last Line Mode:保存文件,离开vi,以及查找字符串等。(按q或wq退出vi)