Linux一些常用命令总结

来源:互联网 发布:java webservice开发 编辑:程序博客网 时间:2024/05/19 03:30

Linux一些常用命令、操作总结

1、linux 启动过程分析

a)BIOS自检
b)启动GRUB/LILO
c)运行LINUX内核并检测硬件
d)运行系统的第一个进程init,它的进程号pid=1
e)init读取系统引导配置文件/etc/inittab中的信息进行初始化
f)/etc/rc.d/rc.sysinit系统初始化脚本
g)/etc/rc.d/rcX.d/[KS]* -根据运行级别X配置服务
  终止以"K"开头的服务
  启动以"S"开头的服务
h)/etc/rc.d/rc.local执行本地特殊配置
i)其它特殊服务

2、Fedora root密码破解

重启后 立即按e键 进入一个页面,选择第二行 再按e键,在下一个页面输入空格和1,代表以第一种级别登录
按b键进入单用户模式 直接命令行输入passwd user 即可改密码,当然也可以在这里修改配置文件,
如修改启动级别(修改配置文件):vi /etc/inittab
注:Fedora不能在图形界面以root用户登录,只能在命令行下面登录,即su+root密码
    且使用根用户登录Fedora必须先修改配置文件:vi /etc/pam.d/gdm
    在该文件里注释掉下面这行: auth required pam_succeed_if.so user!= root quiet  
    保存退出 :wq

3、vi Hello.java建立Hello.java文件

输入i进入插入(编辑)模式
输入esc进入命令行模式
输入 :wq表示保存退出
输入:q!表示不保存退出
编译 javac Hello.java
运行 java Hello

4、java开发环境搭建

进入安装包目录输入./jdk-6u45-linux-i586.bin即可
看一个配置文件 vi /etc/profile [环境配置文件]
配置自己的JDK 设置环境变量
JAVA_HOME=/home/jdk1.6.0_45
PATH=$PATH:/home/jdk1.6.0_45/bin
CLASSPATH=.:/home/jdk1.6.0_45/jre/lib/rt.jar

export JAVA_HOME PATH CLASSPATH


5、MySql的安装、目录结构、配置、使用:

参考http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/11/04/2236240.html
rpm -qal | grep mysql 检查有没有装过mysql
默认安装目录结构:
1)数据库目录:/var/lib/mysql/
2)配置文件:/usr/share/mysql(mysql.server命令及配置文件)
3)相关命令:/usr/bin(mysqladmin、mysqldump等命令)(*mysql的一种安全启动式:/usr/bin/mysqld_safe  --user=root &)
4)启动脚本:/etc/rc.d/init.d/

1、如果是rpm包,参考rpm包安装
2、如果是tar.gz文件
   解压:tar -zxvf 包名.tar.gz
3、继续配置
groupadd mysql (创建mysql组)
useradd -g mysql mysql (创建mysql用户,并放入到Mysql组)
进入到mysql文件夹输入:scripts/mysql_install_db --user=mysql (初始化数据库)
chown -R root .  (修改文件的所有者)
chown -R mysql data (修改date文件夹的所有者)
chgrp -R mysql . (改变用户组)  
启动mysql服务:service mysql start
启动mysql
bin/mysqld_safe --user=mysql & (地址符&表示以后台方式启动)
如何进入mysql(默认没有密码)
# mysql -u root -p


解决mysql"Access denied for user 'root'@'localhost'"问题
#/etc/init.d/mysql stop (停止mysql)
#mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  (启动安全模式)
#mysql -u root mysql (通过以上模式直接进入了mysql,不检查用户名和密码)
mysql>UPDATE user SET Password=PASSWORD('新密码') where USER='root';
mysql>FLUSH PRIVILEGES;
mysql>quit
# /etc/init.d/mysql restart
# mysql -u root -p
Enter password: <输入新设的密码>

出现You must SET PASSWORD before executing this statement的解决方法:
mysql> SET PASSWORD = PASSWORD('123456'); 

如果希望在任何一个目录下都可以进入mysql
则需要在 /root/.bash_profile中添加路径

mysql数据库的使用
1)进入mysql # mysql -u root -p
2)建立数据库和表creat database zpcdb1;
3)建表create table users(userId varchar(8),userName varchar(8));
4)加入数据insert into users values('001','zpc');
5)编写一个java文件读取数据库数据
6)mysql驱动存放位置:jdk目录下的/jre/lib/
要配置CLASSPATH环境变量 vi /etc/profile
在配置文件中增加一行(注意lib后面没有ext,Classpath路径要和真实的路径对应):CLASSPATH=.:/home/jdk1.6.0_45/jre/lib/mysql-connector-java-5.1.29-bin.jar
export CLASSPATH

备份mysql数据库(进入到mysql安装目录,就是放有mysqldump命令的目录)
mysqldump -u root -p 数据库名>data.bak  其中data.bak就是备份文件,随意指定名称
恢复mysql数据库
mysql -u root -p密码 数据库名<data.bak

6、安装tar.gz文件:

a、解压tar -zxvf ???.tar.gz (指定解压目录:tar zxvf filename.tar -C /specific dir)
b、进入目录配置./configure --prefix=/opt/zpcsamba
c、编译 make
d、安装 make install
补装gcc编译器 yum -y install gcc* 
-c :create 建立压缩档案的参数;
-x : 解压缩压缩档案的参数;
-z : 是否需要用gzip压缩;
-v: 压缩的过程中显示档案;
-f: 置顶文档名,在f后面立即接文件名,不能再加参数

7、启动Eclipse[进入图形界面再打开终端]

进入图形界面的两种方式
1、startx 以执行命令者的身份启动X图形界面
2、init5 启动 runlevel 5所对应的服务,并运行图形登录管理器,由用户选择以何种身份登录,只有root有权执行
启动Eclipse
cd eclipse
ls
./eclipse

8、用户管理、目录结构

root 存放root用户的相关文件
home 存放普通用户的相关文件
bin 存放常用命令的目录
sbin 存放具有一定权限才可以使用的命令
mnt 默认挂载光驱和软驱的目录
etc 存放配置相关文件(环境变量、tomcat、mysql数据库的配置)
var 存放经常变化的文件
boot 存放引导相关的文件
df
df -h查看磁盘使用情况

9、添加用户、设密码、删除用户

useradd xiaozhou
设密码
passwd xiaozhou
删除用户
userdel xiaozhou
删除用户及用户主目录
userdel -r xiaoming
修改启动级别(修改一个配置文件)
vi /etc/inittab

10、重启命令:

1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用) 
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

11、关机命令:

1、halt   立刻关机
2、poweroff  立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

12、文件操作命令

pwd显示当前工作目录
cd 改变目录
ls 列出文件和目录
ls -a 显示隐藏文件
ls -l显示长列表格式
mkdir 建立目录
rmdir 删除空目录
rm -rf 删除整个目录(里面内容全删掉)
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
mv a.txt b.txt重命名文件如果已经有b.txt则覆盖
rename 'a' 'b' a.txt 重命名a.txt为b.txt 


cp zpc.java /home/zhou 把zpc.java文件拷到zhou目录下
rm zpc.java 删除zpc.java文件
管道命令|,把上一个命令的结果交给|的后面的命令处理
grep在文本中查询内容
grep -n "zpc" zpc.java到zpc.java文件中找zpc,找到后输出行数和那一行的内容
more 显示文件内容带分页
find / -name zpc.java从根目录开始查找zpc.java文件
ls -l>a.txt 本来改在终端显示的东西写入到文件a.txt中,覆盖写
ls -al>>a.txt追加写

13、如何在Linux中添加组

groupadd policeman
查看linux中所有的组
vi /etc/group
或者只查看
cat /etc/group
创建一个用户,指定将该用户分配到哪个组
useradd -g 组名 用户名

查看Linux所有用户信息
cat /etc/passwd

14、文件所有者对该文件的权限:

r 可读 用4表示
w 可写 用2表示
x 可执行 用1表示


-rw-r--r--
第一个字段表示文件的所有者对该文件的权限
第二个字段表示文件所在的组对该文件的权限
第三个字段表示其他的用户对该文件的权限


chmod 777 zpc1 修改了zpc1目录的访问权限,3个7分别表示本身、组内、组外
如果只想让自己和本组的人访问该目录,则777改成770


chmod 664 zpc1.java表示组内和自身都可以写
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组:usermod -g 组名 用户名
可以用usermod -d 目录名 用户名 改变该用户登录的初始目录


15、挂载光驱

mount /mnt/cdrom/
cd /mnt/cdrom/
ls
卸载
umount /mnt/cdrom/

16、Shell编程

ls -l /bin/*sh查看系统的shell种类
env 查看目前使用的shell种类
chsh -s /bin/csh 改成了csh这种shell
chsh -s /bin/bash 改成了bash这种shell
history 列出最近使用过的命令
history 5 显示最近使用的5个命令

17、网络配置

setup
保存网络设置
/etc/rc.d/init.d/network restart
ifconfig 查看网络配置

临时网络配置(这种方法会即时生效,但也是临时生效)
ifconfig eth0 x.x.x.x 对网卡进行设置
ifconfig eth0 network x.x.x.x对子网掩码设置

显示网络统计信息的命令
netstat
netstat -an 按端口号排序
netstat -anp 按端口号排序并显示进程号
ifconfig 查看网络配置
追踪数据包经过程命令:
traceroute www.sohu.com
route路由表 

18、安装rpm包

rpm -i RPM包全路径名称 :安装包到当前系统
rpm -ivh RPM包全路径:带有提示信息的安装
i=install 安装
v=verbose 提示
h=hash 进度条
删除rpm包
rpm -e RPM包的名称 
强制删除
rpm -e --nodeps RPM包的名称

查询linux中安装了哪些rpm软件
rpm -qa
rpm -qa mysql 查看系统是否安装了mysql

19、samba的安装步骤

a、rpm -q  samba 检查是否已安装该软件(这里检查的是rpm为后缀的安装包)
b、如有就先卸载
c、把自己的安装文件挂载到linux下(如挂载U盘)
d、把 samba开头的文件拷到/home,准备安装
  cp samba-4.1.6.tar.gz /home(这里是tar.gz的文件)
e、开始安装
f、创建一个用户youyou
  useradd youyou
  passwd youyou
g、给youyou设置samba密码
  cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
  smbpasswd youyou
g、第二种方法:smbpasswd -a suyang 将系统用户suyang加入到 samba用户数据库
h、启动samba服务器
  service smb start
  service smb stop
  service smb restart

另一种方法
a、yum -y install samba 在线安装samba
b、参考http://lxsym.blog.51cto.com/1364623/289156/

20、linux下挂载U盘

a、mkdir /mnt/USB 先在/mnt下建立一个叫USB的目录来挂载u盘
b、fdisk -l 查看一下磁盘分区情况
c、U盘插入USB口再输入fdisk -l查看一下u盘是否读取
d、mount -t vfat /dev/sdb1 /mnt/USB 挂载
e、cd /mnt/USB 
   ls -l /mnt/USB 查看u盘里的文件
f、umount /mnt/USB 卸载u盘(卸载时切换个目录,不要在u盘目录下卸载,否则提示忙)

21、任务调度的使用

1、设置任务crontab -e
2、每隔一分钟去执行date > /home/mydata1:* * * * * date >> /home/mydate
 每天凌晨2:00执行date > /home/mydata1:在crontab -e中加入0 2 * * * date >> /home/mydate
 *号分别表示分钟(每小时的第几分钟执行)、小时、日期、月历、星期
3、调度多个任务
  1)在crontab -e中直接写
  2)把所有的任务写入到一个可执行文件(shell编程)
4、终止任务调度
  crontab -r:终止任务调度
  crontab -l:列出当前有哪些任务调度

22、查看进程状态

ps -aux | more
杀死进程
kill 进程号
kill -9 进程号(强制杀死)
另外一种查看进程方法
top | more 区别在于top命令不断实时刷新
top -d 10  指定系统更新进程的时间为10秒
20120  4188
date命令显示系统时间
查看月历:
cal 2 2014 查看2014年2月
cal 2014 查看2014整年
把日历存到test文件里
cal 2014 > test

23、linux补充知识:

1)拷贝文件夹(比拷贝文件多了个-r)
cp -r workspace/ /home
cp -rf workspace/ /home(加个f表示全覆盖,不用询问)


2)建立符号连接
ln -s 源 目标
ln -s /root/zpc.java  zpc(zpc指向实际文件zpc.java)


3)grep在文本中查询内容
grep -n "zpc" /root/zpc.java  /home/
在/root/zpc.java文件和/home/目下寻找包含zpc的串


4)find命令:搜索文件及目录
find /home -name abc 在home目录下查找名字为abc的文件
find /home -size +10k 查找/home目录下大小为10k的文件
find /home -admin -10 查找10分钟内存取过的文件或目录


5)每天凌晨两点自动备份数据库
  vi mytask2.sh
  在mytask2.sh中写入:/usr/bin/mysqldump -u root -p123456 zpcdb1 > /home/zpcdb1.bak
  修改mytask2.sh的可执行权限:chmod 744 mytask2.sh
  添加任务调度:crontab -e
  写入:0 2 * * * /root/mytask2.sh


6)用户登录后自动执行的shell脚本文件(配置用户的或者全局的profile文件)
  配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动。


7)显示变量内容
  echo $PATH 输出当前PATH环境变量内容
  env也可以直接查看所有环境变量
  临时编辑环境变量(追加)export PATH=$PATH:/root/zpc


8)通配符的使用
  find /home/ -name m*  在home目录下找m打头的文件
  *代表多个字母或数字
  ?代表多一个字母或数字
  []限定范围 ls abc[1-6].java 表示abc后面可以跟一个1-6的数字
  
9)使用别名,alias用法
  ls -l /home
  取个别名:alias llh='ls -l /home'


10)文件压缩  zip aa.zip zpc.java user.java把zpc.java、user.java两个文件压缩到aa.zip中
   文件夹压缩 zip  -r aa2.zip ./workspace 把当前目录下的workspace压缩为aa2.zip


11)解压缩unzip aa.zip











0 0