Linux基础
(2009-06-20 01:33:21)1,文件信息
bin/存放命令文件 lib/库文件 etc/配置信息 usr/安装软件时所用文件(user/bin user/include( 包含头文件(stdio.h)和源代码文件);
/etc/profile//用于环境配置,/etc/inittab//用于界面启动配置,/etc/rc.local//用于服务自启动配置
所有用户皆可使用的系统程序存放在/bin中。
超级用户才能使用的系统程序放在/sbin中。
所有用户皆可使用的应用程序存放在/usr/bin中。
超级用户才能使用的应用程序存放在/usr/sbin中。
所有用户皆可使用的与本地计算机有关的程序存放在/usr/local/bin中。
超级用户才能使用的与本地计算机有关的程序存放在/usr/local/sbin中。
与X Window系统有关的程序存放在/usr/X11R6/bin中。
2, adduser 用户名//添加
passwd //修改密码
pwd//当前目录
3,cd ./或../或/etc/...为移动目录位置
4,ls 或ls -l或ls -all 或ls /etc.. -l等为罗列目录下的文件
5,date "+Date:%y.%m.%d Time:%H.%M.%S"
cal //用卡片形式显示时间
6,键盘上按5个esc会出现现全部的命令
7,shutdown ,shutdown --help ,shutdown --? ,man shutdown,info shutdown//帮助命令
8,文件操作
---------------------------------------------------
rm -rf删除该目录下的全部文件 查询rm帮助
mkdir创建目录,rmdir删除目录(但目录下有子目录不能删,所以就用上面rm -r 目录名(提示) rm -rf不提示)
touch 创建一个文件
cp拷贝 cp 1 11在当前目录下的 文件 把1拷贝一份变成11的目录
cp -r d1 d2在当前目录下 目录 把1拷贝一份变成11的目录
mv移动 mv dd1 ../ 把当前目录下的dd1移动到上一层目录下 mv xx yy可用于改名字
------------------------------------------------------------
9,vi界面的操作
-----------------------------------------------------
进入vi
复制:
nyy复制n行
yy复制单行
ndd剪切n行$$
yw复制一个单
粘贴p
取消 u
取消全部U
ctrl+r可以恢复对使用u命令的操作
ctrl+b向下翻一页
ctrl+f向上翻一页
ctrl+u向上翻半页
ctrl+d向下翻半页
:set number显示行号
^或b行首
$或d行尾
{}本段开头与结尾
要插入文件/root/1.log, 可以敲输入":r /root/1.log”。
hjkl
h:光标向左移动
l:光标向右移动
J:向下移动
K:向上移动
x:向后删除一个字符
X:向前删除一个字符
I:跟到行首去插入
A:跑到行尾去插入
O:在上一行插入
o:在下一行插入
G(结尾)、H(开头):至文件末尾,以及至屏幕开头。
91G:移动到文件中 91 行;
设置回退键可用
set backspace=indent,eol,start
替换命令:
%s/replace/src/g(全部替换)
set all
离开vi及保存文件
在Command mode下,可按冒号“:”,进入Last line mode,例如:
:w filename (输入“w filename”,将文章存入指定的文件名filename)
:wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
:q! (输入“q!”,强制离开并放弃编辑的文件)
/abc, 向前查询abc
?abc, 向后查询abc
n, 向前继续查询
N, 向后继续查询
-----------------------------------------------------------------------
10,r可读w可写x可执行
chmod +x(权限) 4(文件名)
chmod u+x/g+x/o+x
chmod 775(111(rwx7) 111(7) 101(5))
11, chown xx 4改当前所有者如root为xx
12 grep xx(文本中的内容) 文件名 对文件进行查询
13/dev/sda1为 sd为scsi硬盘 a为第几块硬盘 1-4:为主分区 其他为扩展分区,逻辑分区(hd为ide硬盘)
14(管道):ls -R1 /etc | more对罗列出来的信息进行分页显示
cat /etc/passwd |grep lrj查询lrj在哪一行
15.wall(warnning all) xxxxx通知所有人,,每人都会接受到xxxxx
wall '会把在这里执行的命令结果通知所有人'//开两个终端服务都可以接收到命令
16.stdin stdout stderr
ls>cmd.txt等下就会产生一个文件把命令结果输到这里来.
17,压缩,解压操作
--------------------------------------------------------
gzip,tar用于压缩
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
10,rpm 对软件的安装(rpm -i filename.i386.rpm ) 卸载#rpm -e [package name]
rpm -ivh .../解压并安装
--------------------------------------------------------
18,ps -aux//查找与进程相关的id号,
kill 进程号//杀死进程
19,vsftp的使用
--------------------------------------------------------
service vsftpd start/stop用于开启或关闭服务
---设置网络之间能够相连在ping能否通
/etc/vsftpd.user_list 和vsftpd.ftpusers下为不能访问的用户,注释掉,重启服务器就可以用了(restart)。(如root)
在其他机子window 上ftp 192.168.1.44(linux上的ip)连到linux服务器上,可使用命令(help,append help帮助)进行上传,如果是root就上传到相应的root路径下,可在cmd下用append c:/1.txt或put mput也可以
一般存放在linux下/var/ftp/pub目录,可到/etc下查看相应的配置文件
--------------------------------------------------------
20,C语言下执行
gcc -0 hello hello.c产生一个hello的可执行文件
./hello.c就执行刚才所编译的文件.
21,使用tab键补全命令,多按几次总会有帮助
21,网络命令
ifconfig
ping
route -n
netstat
22,启动界面设置
shutdown -h now/init 0//关机
shutdown -r now/init 6 //重启
reboot //重启
halt //系统停机
init 3 //文本界面
init 5//图形界面
init 1//单用户界面
23,查看磁盘
fdisk
df -h查看各个目录使用情况
du -sh 查看当前目录所占用空间
fsck功能说明:检查文件系统并尝试修复错误。需要放入系统安装光盘!
24,查对文件的操作
----------------------------------------------
find /etc(目录) -name life.conf(文件名)
locate
grep
less/more/cat 查看文件内容
diff/cmp 1.c 2.c比较文件
1,chkconfig --list | more分页显示//从这里也可以看出管道的作用
2,chkconfig --list | grep vsftpd文件名直接查找到某一个文件
3,chkconfig vsftpd on//使之开机自启动
4,(管道):ls -R1 /etc | more对罗列出来的信息进行分页显示
cat /etc/passwd |grep lrj查询lrj在哪一行
-----------------------------------------------------
25,shell命令
------------------------------------------------
shell脚本基础(相当于window的批处理命令)
${变量名} $变量名
全局变量要用export特别声名。(任何用户都能使用)
默认是局部
echo -n ""//输出不换行
read xx//读取用户的输入,输入的存储到xx
#//代表注释
默认变量都为字符串
vi first.sh(后缀也可不加)
---ls -l
更改其权限 chmod 777 文件
./first.sh调用这个文件,就开始运行。只要是没加入path目录时,运行你都要加./,否则找不到目录
#"the first shell"
echo "please enter username"
read username
echo ${username}/$username
s=xxx//linux默认全部为串
echo $s
进行环境配置/etc/profile下进行配置
PATH=$PATH:/目录
export PATH
expr 4 + 5/echo((4+5))能进行加法,加号中要有空格
或者是expr $((4+5))
::$name=wuquanyin//代表字符串的比较
可在shell中执行外面命令的汇总,并加以控制
-lt -le -gt -ge -eq -neq
逻辑符号
-a(and) -r(or)
------------------------
echo "please your score"
read score
if[ $score -lt 80 ]//每一个命令都要单独存在,前后要有空格间格,中括号也是
then
echo "is bed score"
elif [ $score -ge 80 -a $score -le 100 ]
then
echo "is good score"
fi
----------------------------
echo "pleas select your operation...."
echo "1:tomcat_cluster,2:tomcat1_start,3:tomcat2_start,4:start_allstop"
read command
#command condition
case ${command} in
"1") /usr/tomcat/tomcat1/bin/./catalina.sh start
/usr/tomcat/tomcat2/bin/./catalina.sh start
/usr/apache/httpd-dir/bin/./apachectl start;;
"2") /usr/tomcat/tomcat1/bin/./catalina.sh start;;
"3") /usr/tomcat/tomcat2/bin/./catalina.sh start;;
"4") /usr/tomcat/tomcat1/bin/./catalina.sh stop
/usr/tomcat/tomcat2/bin/./catalina.sh stop
/usr/apache/httpd-dir/bin/./apachectl stop;;
*) echo "wrong command...";;
esac
while [ ${} ] do//下条件要加中括号
done
while (()); do
done
------------------------------
for((i=1;i<10000000;i++));do//两个括号能进行相应的运算,要不然只能进行串运算
echo $i
done
find 目录 name 文件 &--转到后台运行
-----------------------
:set nu查询错误
6G查到第六行。。。
---在超级用户下可以随便更改其他普通用户的密码:
------------------------------------------------
把光驱挂载进来。
mount /dev/cdrom /mnt/cdrom//把光驱cdrom(光驱)挂载到cdrom(系统下)下。
监控命令:
top -b -d 5 可实时监控任务管理器
tail -f 文件:实时监控一个文件的尾部几行
head -f 文件 实时监控一个文件的头部几行
查看进程、文件夹、用户等打开过的文件
lsof 查看打开过的文件(如打开某个进程所打开的文件,)
lsof -p 进程号----某个进程所打开过的文件
lsof -f 进行监控该linux中打开过的文件
mpstat, iostat, sar和vmstat