linux学习笔记
追踪路由
tracert www.wityx.com
测试两个IP是否畅通
ping 目标IP
查看window ip
ipconfig
windows查看监听端口
netstat -an
查看linux/unix 的ip
ifconfig
查看路由状态
route -n
查询操作系统类型
cat /etc/issue
cat /etc/redhat-release
查看Linux 版本
file /sbin/init
查询操作系统内核版本
cat /proc/version
查询服务器信息
uname -a
查询服务器name
hostname
显示某目录占用磁盘大小
du -sh /oracle
列出当前cpu消耗时间最多的10个进程
ps -ef|sort +6|tail
ps auxgw|sort +2|tail
在根目录下查找文件名为httpd.conf文件
find / -name httpd.conf
使用ps –ef|grep tomcat 来查看是否有tomcat进程,查看tomcat是否启动
ps -fu wellcom 查看wellcom用户的所有进程
netstat -ano 查看tomcat对应的端口是否为listen
killall -9 java 杀掉所有java进程
killall -u wellcom 杀掉wellcom用户下所有进程
netstat –apn | grep 8080 查看端口
startx 或 init 5 进入图形界面
init 3 进入黑屏界面
shutdown -h now 立刻关机
shutdown -r now 立刻重启计算机
reboot 立刻重启计算机
logout 注销当前用户(必须root执行)
exit 退出
vi编辑器的使用:
一:java程序开发
1.vi Hello.java
2.输入i 进入输入模式
3.输入esc 进入命令模式
4.输入: 后 再输入wq(保存并退出) q!(退出不保存)
ls 或 dir 显示当前目录 (ls中文件夹显示成蓝色)
ls -l 显示当前目录详细信息
5.javac Hello.java 编译
6.java Hello 运行
二:c程序开发
1.
vi Hello.cpp
# include <stdio.h>
int main(){
printf("hello!");
return 0;
}
2. gcc Hello.cpp 或 gcc -o my1 Hello.cpp
3. ./a.out 或 ./my1.out
linux的目录结构
最上层是 / 下面有
root(存放root的相关文件)
home(存放普通用户的相关文件)
bin (存放常用命令)
sbin (存放要具有一定权限才可以使用的命令)
boot (存放引导相关的文件)
etc (存放配置相关文件)
var (存放经常变化的文件)
usr (存放文件默认安装的路径)
pwd 显示当前在哪个目录下
cd /home/ 切换到 根目录下的 home 目录
useradd xiaoming 添加小明用户
passwd xiaoming 为小明用户设置密码
userdel xiaoming 删除小明用户 (保留/home/下小明的文件夹)
userdel -r xiaoming 彻底删除小明用户,不保留小明的文件夹
su - 普通用户名 切换用户
init [0123456]
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用的级别是3 和 5 ,要修改 默认级别可改文件/etc/inittab的id:5initdefault:这一行的数字解决错误配置的方法:再进入grub引导界面时,请输入e,选择第二行 再输入e,在最后输入1[单用户级别],再按b后进入单用户模式,重启进入系统后 vi/etc/inittab 回车后将6改回3 再输入wq(保存并退出)
cd 改变目录
ls 列出文件和目录
ls -a 显示隐藏文件
ls -l 显示长列表格式
ls -al
蓝色-目录 淡蓝色-链接文件,类似于dl快捷方式 红色-压缩文件
绿色-可执行文件 灰色-其它文件 黑色-普通文件
mkdir aa 建文件目录 aa
rmdir aa 删除文件目录aa (若文件夹内有文件就不能删除)
touch 建立空文件
cp 复制命令
cp a.out /home/xiaoming/ 将a.out文件 拷贝到/home/xiaoming/目录下
cp -r workspace/ /home 将文件夹 workspace 拷贝到/home 目录下
cp -rf workspace/ /home 将文件夹 workspace 拷贝到/home 覆盖以前的目录下
cp -f filename1 filename2 将文件filename1重命名为filename2
cp -rf dir1,dir2 将目录dir1重命名为dir2
cp -p file1.txt file2.txt 拷贝file1.txt为file2.txt,保持文件属性不变
du –hs /tmp 查看/tmp目录占用总的空间大小
du –ha /tmp 查看/tmp目录下所有目录和文件占用空间大小
小技巧:tab键 自动补全
rm a.out 删除a.out文件
rm aa 删除aa目录
rm -rf * 删除所有内容(包括目录和文件) r递归 f强制
mv /root/file1.txt /tmp/file10.txt 将/root/file1.txt移动到/tmp下并重命名为file10.txt
ln -s /root/abc.java toabc 建一个快捷方式指向abc.java
more 显示文件内容,带分页
less 显示文件内容带分页
find /home -amin -10 查看10分钟内存取的文件或目录
find /home -atime -10 查看10小时内存取的文件或目录
find /home -cmin -10 查看10小时内更改过的文件或目录
find /home -ctime +10 查看10小时前更改过的文件或目录
find /home -size +10k 查找大小为10k 的文件
| 管道命令: 把上一个命令交个 | 的后面的命令处理
more xx.log 然后打长空格键分页显示下一页 按ctrl+pgup 键分页显示上一页
ls -l /etc/ | more
grep 在文本中查询内容
grep "shunping" aaa.java 从aaa.java文件中查找“顺平”
grep -n “shunping” aaa.java 从aaa.java文件中查找“顺平”,并显示行数
find / -name aaa.java 从根目录下开始查找aaa.java (速度慢)
find /root -name aaa.java
grep -n “shunping” aaa.java > kkk.bak 从aaa.java文件中查找“顺平”,显示行数,并保存到kkk.bak中
ls -l > a.txt 列表的内容写入文件a.txt中(>覆盖写)
ls -al >> a.txt 列表的内容追加到文件aa.txt的末尾
ls -ahl 可查看文件的所有组
chgrp 组名 文件名 可修改文件所在的组
cat /etc/group | more 查看组(cat命令只能看不能改)
groupadd tufei 添加土匪组
useradd -g 组名 用户名 将用户添加到组里
useradd -d /home/wr -g dba wr
chown wr:dba wr
chown -R wellcom:dba wellcom 给wellcom dba角色
vi /etc/passwd 查看linux中所有用户信息
cat /etc/passwd
passwd xiaoming 给小明用户分配密码
-rw-r--r--- r:可读,用4表示。 w:可写,用2表示。 x:可执行,用1表示
-代表文件类型(-普通文件)
rw- 文件所有者对该文件的权限
r-- 其他组对该文件的权限
chmod 777 文件夹名 修改文件夹访问权限
第一个7代表对所有者进行权限的修改
第二个7对所有者所在组的权限进行修改
第三个7代表对其他用户访问进行修改
who am i 我是哪个用户
ls -ahl 可以看到文件的所有者
chmod 664 mytest.java 修改文件的权限
chmod +R 文件名 为文件加上可执行权限
usermod -g pollece aishui 将阿帅修改到pollece组
chown 用户名 文件名 修改文件的所有者
chown +R tangjinjin:dba tangjinjin tomcat目录 为tangjinjin用户增添可执行权限
chown -R wellcom:dba wellcom 把wellcom用户设成dba组
chmod ugo+rwx directory1 设置directory1目录的所用人(u)、群组(g)以及其他人(o)以读(r)、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对directory1目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人属性和群组属性
"-rw-------"代表类型和权限(共有10个字符)
"-"代表普通文件
"d"代表目录
"l"代表链接文件
r:读(4) w:写(2) x:执行(1)
其中每三个字符代表一个部分
如: -rw(文件所有者U)
---(同组用户G)
---(其他用户,不在同一组的用户O)
所有用户(a)
clear 清屏
rpm -qa 查询linux中安装了多少rpm包
rpm -q mysql 查询是否安装了mysql包
rpm -i rpm包的路径名称 安装rpm包
rpm -ivh rpm包的路径名称 安装rpm包(有提示信息)
rpm -e rpm包的名称 卸载rpm包
rpm -e --nodeps samba 强制删除samba
安装好samba服务后,创建samba用户
useradd youyou
passwd youyou
给youyou用户设置samba密码
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
smbpasswd youyou
service smb start 启动samba
service smb stop
service smb restart
\\192.168.12.12 (命令行) windows 连接到samba服务
ps -aux |more 查看linux进程 比较详细
kill -9 1777 杀死1777进程
top 查看cpu的运行状况
netstat -anp | more 查看有哪些用户登录了linux
ping IP 可以知道是否与那个IP有连接
env | more 查看所有环境变量
tail -f catalina.out //同步动态开日志生成情况
ps -ef | grep tomcat //查看tomcat的进程
chmod 755 tomcat6/*
ps -ef |grep wellcom //查看wellcom用户的进程
kill -9 44343 4355 4646 //杀掉44343 4355 4646这些进程
ps -aux | grep java
-aux 显示所有状态
查看共享文件夹: ls /mnt/hgfs/共享文件夹名
linux 内存清理
清理前内存使用情况
free -m
echo 1 > /proc/sys/vm/drop_caches
清理后内存使用情况
free -m
完成!查看内存条数命令:
dmidecode |grep -A16 "Memory Device$"
错误编辑RedHat profile文件导致系统不能登录的解决办法
在linux中安装jdk需要编辑 /etc/profile 文件,这个文件一但被错误设置就会导致系统不能登陆,具体症状为:登陆图形界面以后会弹出一个对话框 “您的回话只持续不到10秒种。。。。。。”,点击确定就又重新引导,但是还是不能顺利的登录图形界面。
对于这个问题可以在命令行模式下把最近对 /etc/profile文件所作的修改去掉即可,具体操作如下:
1。按 shift+ctrl+alt+F1进入命令行模式
2。以root身份登陆
3。按照下面的命令执行
cd etc 回车
/bin/vi profile 回车 (注意:在这里不那能用直接调用Vi 需要指定目录 即 /bin/vi )
上面两个命令可以打开 /etc/profile 文件,
i 回车 (这是vi的插入操作命令)
然后找到你最近修改过的内容,恢复原来状态或者事删除
esc : wq 回车
这时profile文件已经保存更新,重启系统即可顺利进入图形界面
关闭weblogic服务:
1、查找weblogic进程:#ps -ef|grep weblogic,找到weblogic的pid
2、杀掉weblogic进程:#kill -9 pid号
开启weblogic服务:
1、进入weblogic的对应的项目域环境,到startWeblogic.sh所在的目录
2、#nohup ./startWeblogic.sh &(&的作用是可以使服务在后台启动)
3、#tail -f nohup.out 可查看启动服务的后台运行情况
linux 下mysql数据库的备份与恢复
命令必须在mysql 目录下的bin目录执行
备份:mysqldump -u root -p密码 数据库名 > data.bak
恢复:mysql -u root -p密码 数据库名 <data.bak
注意:恢复的时候要先建一个空的数据库
展开 abc.tar.gz 使用命令: tar xvzf abc.tar.gz
展开 abc.tar 使用命令: tar xvf abc.tar
要创建一个 tar 文件,键入: tar -cvf filename.tar directory/file
01-.tar格式
解包:[*******]$ tar xvf FileName.tar
打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)
02-.gz格式
解压1:[*******]$ gunzip FileName.gz
解压2:[*******]$ gzip -d FileName.gz
压 缩:[*******]$ gzip FileName
03-.tar.gz格式
解压:[*******]$ tar zxvf FileName.tar.gz
压缩:[*******]$ tar zcvf FileName.tar.gz DirName
04-.bz2格式
解压1:[*******]$ bzip2 -d FileName.bz2
解压2:[*******]$ bunzip2 FileName.bz2
压 缩: [*******]$ bzip2 -z FileName
05-.tar.bz2格式
解压:[*******]$ tar jxvf FileName.tar.bz2
压缩:[*******]$ tar jcvf FileName.tar.bz2 DirName
06-.bz格式
解压1:[*******]$ bzip2 -d FileName.bz
解压2:[*******]$ bunzip2 FileName.bz
07-.tar.bz格式
解压:[*******]$ tar jxvf FileName.tar.bz
08-.Z格式
解压:[*******]$ uncompress FileName.Z
压缩:[*******]$ compress FileName
09-.tar.Z格式
解压:[*******]$ tar Zxvf FileName.tar.Z
压缩:[*******]$ tar Zcvf FileName.tar.Z DirName
10-.tgz格式
解压:[*******]$ tar zxvf FileName.tgz
11-.tar.tgz格式
解压:[*******]$ tar zxvf FileName.tar.tgz
压缩:[*******]$ tar zcvf FileName.tar.tgz FileName
12-.zip格式
解压:[*******]$ unzip FileName.zip
压缩:[*******]$ zip FileName.zip DirName
13-.lha格式
解压:[*******]$ lha -e FileName.lha
压缩:[*******]$ lha -a FileName.lha FileName
14-.rar格式
解压:[*******]$ rar a FileName.rar
压缩:[*******]$ rar e FileName.rar
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量
指定的目录也行):[*******]$ cp rar_static /usr/bin/rar
1.文件名后缀.gz
tar -zxvf 文件名
2.文件名后缀.bz2
tar -jxvf 文件名
进入解压出的目录里
./configure --prefix=/(软件安装目录)
make ----执行编译
make install ----执行安装
3.文件名后缀.rpm
rpm –ivh文件名
注:-i引导rpm进入安装模式
4.启动和关闭Tomcat服务
cd /usr/java/tomcat/bin
./startup.sh(注:启动服务)
./shutdown.sh(注:关闭服务)
5.rpm -q –a查询到当前系统中安装的所有的软件包
6.rpm -e [package name]
注:参数e的作用是使rpm进入卸载模式,如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载
rpm -e [package name] --nodeps 强制卸载
rpm -ql [package name] 查看rpm包安装到哪里了
7.登录MySQL:mysql –u root –p
增加MySQL用户:grant select,[insert],[update],[delete] on database_name. * to 用户名@登录主机名 identified by “密码”
rpm -qa|grep tomcat 查找tomcat
rpm -e tomcat --nodeps 卸载tomcat
手工卸载程序:应用程序-->添加/删除软件-->去掉钩钩-->软件包管理者-->去钩应用
安装ftp:
rpm –ivh vsftpd-2.0.5-19.fc8.i386.rpm
启动: # service vsftpd start
重启: # service vsftpd restart
访问: ftp://127.0.0.1
安装mysql .gz的步骤
1. rpm -e --nodeps mysql 卸载mysql
2. rpm -qa mysql 查看mysql是否卸载完毕
3. groupadd mysql(创建组)
useradd mysql -g mysql(创建帐号放到组中)
进入到mysql的文件夹
4. scripts/mysql/mysql-install-db --user=mysql (初始化数据库)
5. chown -R root . (修改文件的所有者)
6. chown -R mysql data (修改data文件夹的所有者)
7. chgrp -R mysql .
8. bin/mysql_safe --user=mysql &
9. 进入bin 目录 ./mysql -u root -p
10.配置环境变量(到处都可以访问Mysql)
cd /root
vi .bash_profile 在path中后追加:/home/mysql/bin/
11.设置密码
cd /home/mysql
bin/mysqladmin -u root password '123'
12.启动时就开启mysql的方法:在/etc/rc.d/rc.local后加一行代码为/mysql/bin/mysqld_safe --user=mysql &
通过rpm包安装、配置及卸载mysql的详细过程
以MySQL-server-4.0.14-0.i386.rpm为例,放在/data目录下
cd /data
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)
拷贝一个示例配置文件作为mysql的配置文件:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
rpm包安装完后自动将mysql安装成系统服务,所以可以使用下面命令启动、停止mysql
启动mysql
/etc/init.d/mysql start 或 service mysql start
停止mysql
/etc/init.d/mysql stop 或 service mysql stop
到此,mysql服务就安装配置完成。
安装mysql客户端
rpm -ivh MySQL-client-4.0.14-0.i386.rpm
mysql安装好后目录结构如下:
工具程序在/usr/bin目录中---ls /usr/bin/mysql*
服务器程序/usr/sbin/mysqld
数据目录/var/lib/mysql
默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等
要改变这些情况可以修改/etc/my.cnf文件
如将日志文件写在/var/log目录中,可以在my.cnf文件中加入下面两行:
[mysqld_safe]
err-log = /var/log/mysqld.log
有个实用程序/usr/bin/mysql_install_db,该程序可以用来初始化mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数据库(空库),如果不小心删除了/var/log/mysql目录可以通过该程序来初始化.
卸载mysql
rpm -qa|grep -i mysql
rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -rf /var/lib/mysql
解决linux中文乱码的方法:
方法一:
vi /etc/sysconfig/i18n
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
方法二:
修改/etc/sysconfig/i18n文件
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
方法三:
linux 中文显示乱码解决办法
vi /etc/sysconfig/i18n
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
这样中文在SSH,telnet终端就可以正常显示了。
设置linux用户中文界面
在其用户的.bash_profile里面添加如下环境变量配置,注销后登陆就是中文界面了
LANG=zh_CN.GB18030
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
export LANG LANGUAGE
redhat 5 ftp 受限解决办法
1、用ntsysv命令查看vsftp服务有没有选上
2、 vi /etc/vsftpd/ftpusers 将root用户注释掉
3、 vi /etc/vsftpd/user_list 将root用户注释掉
4、 执行命令 setsebool ftpd_disable_trans 1
5、重启服务 service vsftpd restart
redhat 5 telnet 受限解决办法
1、用ntsysv命令查看 xinetd服务有没有选上
2、 vi /etc/xinetd.d/krb5-telnet 将distable 改为no
3、重启服务 service xinetd restart
有用的整理:
一:linux,用ssh tools连不上,这个时候你先ping下可以通否,若可以通,那应该就是防火墙不允许SSH端口22访问引起的,大家可以通过以下几种方式解决ssh连接不上的问题:
1) 永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
二:linux 设置系统语言
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
修改后的/etc/sysconfig/i18n 文件为:
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL
设置完毕后重启或者用rc.local使生效
或修改登录用户的.bash_profile文件加入
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN