Linux入门

来源:互联网 发布:中国中车 知乎 编辑:程序博客网 时间:2024/04/29 21:15
1.linux入门:
su--超级管理员
shutdown -h now 立即关机
shutdown -r now 重启
reboot 重启
logout 注销
init 3 进入非图形界面;
init 5 进入图形界面;


2.vim编辑器:
vi hello.java
i 进入插入模式
esc 进入命令模式
wq 退出保存
q!退出不保存;


ls 查看当前目录
ls -l 查看详细列表;


编译c程序:
gcc hello.c
运行:
./a.out   //默认是a.out
如果要自己命名:
gcc -o my1 hello.c
./my1   //运行


3.linux下的文件目录:cd /   //进入目录
级层式的树状目录结构,最上层是根目录“/”,
/root:存放root用户的相关文件;
/home:存放普通用户的相关文件;
/bin:存放常用命令;
/sbin:具有一定权限才可使用的命名;
/mnt:默认挂载光驱的目录;
/boot:存放引导相关的文件;
/etc:存放配置相关文件;
/var:存放经常变化的文件;
/usr:默认安装的文件夹;


pwd  //显示当前在哪个目录下;
我的账户在目录/home/yao下面;


4.linux的用户管理:
root权限才可以添加用户;
useradd xiaoming  //添加用户小明;
passwd xiaoming  //给小明设置密码;
userdel xiaoming  //删除用户,用户没了,文件夹还在;
userdel -r xiaoming  //删除用户以及用户主目录,把xiaoming这个


文件夹删掉;


5.linux的常用命1:
指定运行级别:
init 0,1,2,3,4,5,6
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
要修改默认运行级别可以改文件/etc/inittab的id:5:initdefault这


一行中的数字;
修改错误配置的方法:
reboot在进入grub引导界面时,输入e


6.常用命令2:
ls -a  //显示隐藏文件;
ls -l  //显示长列表格式
ls -al
mkdir  //建立目录
rmdir  //删除空目录
touch //建立空文件
cp   复制
cp -r dir1 dir2 递归复制命令(复制子目录信息)
mv 移动文件和改文件名
rm 删除文件和目录
rm -rf * 删除所有内容,包括目录和文件,r递归,f强制
ln  建立符号连接
ln -s 源目标
ln -s /etc/inittab inittab  inittab指向实际文件/etc/inittab
more filename  显示文件内容,带分页
less filename  显示文件内容带分页
grep  在文本中查询内容,例子:grep "lyc"  aa.java //查找aa.java


中是否有lyc;
man   帮助
|  管道命令:在linux中,一竖就是管道命令,把上一个命令的结果交给


|的后面的命令处理;
例如:ls l /etc | more
find   //搜索文件及目录;
例子find / -name aaa.java  //从根目录“/”开始查找aaa.java这个


文件
重定向命令:
ls -l > a.txt //列表的内容写入到文件a.txt中(覆盖写)
ls -l > a.txt  //追加在文件末尾;


7.文件所有者,所在组和其他组
linux的用户必须在一个组里面,一个用户可以在多个组;
一般文件的创建者就成了文件文件的所有者;
ls -ahl 命令可以看到文件的所有者;
chown 用户名 文件名  //修改该文件的所有者;
ls -ahl 可以看到文件的所有组;
chgrp 组名 文件名 //修改文件所在组;
在添加用户时,可以指定将该用户添加到哪个组:usermod -g 组名 


用户名
usermod -d 目录名 用户名 //改变该用户登录的初始目录
groupadd police //添加组police
查看linux中所有组信息:  cat /etc/group   //cat只能看不能改
useradd -g 组名 用户名  //把用户添加到组
查看linux中所有用户信息 : cat /etc/passwd


8.-rw-r--r--
-      文件类型(-是文件,d是目录,l是链接);
rw-    文件的所有者对该文件的权限,每3个字母一组;
r--    文件所在组队该文件的权限,每3个字母一组;
r--    其他组的用户对该文件的权限,每3个字母一组;
解析:权限分三种:r可读,用4表示;w可写,用2表示;x可执行,用


1表示;
chmod 777 lyc  //修改权限,4+2+1=7可读可写可执行


9.java jdk安装:
1.作成iso文件,把iso文件挂载到linux系统上;
虚拟机-设置-cd/dvd(ide)  使用iso映像文件;
mount /mnt/cdrom/  //挂载光驱
cd  /mnt/cdrom  //进入cdrom目录
cd  /
umount /mnt/cdrom  //卸载
2.把安装文件拷贝到/home
 cp file /home   //按tab补全file名
3.cd  /home
4.安装 ./filename
5./etc/profile  //环境配置文件
配置文件注释用#


----------------
百度知道:
vmware右下角有个选择光驱的,选择上你windows下的镜像,选择


的时候记得将最上面的两个对勾都选上。如果linux系统时图形模式,它


会自动挂载上镜像。如果是文本模式,输入 
mount -o loop /dev/cdrom /mnt 
ls /mnt  就可以看到光盘里的东西了。


/media/xxx
----------------------


10.安装eclipse
把安装文件拷贝到/home  cp file /home
安装:tar -zxvf xxx.tar.gz   //以.tar.gz结尾都可以这样安装
运行启动:白色为普通文件,蓝色是文件夹,绿色是可执行文件;
启动:要先进入图形界面  ./eclipse


11.linux分区:
主分区:操作系统,一个硬盘只能有一个;
扩展分区:可分为多个逻辑分区;
主分区+扩展分区<=4(一个盘);扩展分区不能直接使用要分成逻辑分区



查看某个目录是在哪个分区:df 目录路径
查看linux系统分区具体情况:fdisk -l


sda1   sd(硬盘类型,硬盘分两种,对于ide硬盘表示为hdx),a代表


基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘,前四个分区


用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区,


例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2


表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标


识为“sdx—”,scsi硬盘是用"sd"来表示分区所在设备的类型的,奇


遇则和ide硬盘的表示方法一样。


mount /dev/sda1 /test  //把设备dev/sda1挂载到/test下面
umount /test   //卸载
-------------
无论有几个分区,分给哪个目录使用,它归根结底就只有一个根目录,


一个独立且唯一的文件结构。它采用了一种叫做载入的处理方法,他的


整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录


联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得



-------------------
/boot 分区 100M
swap 交换分区 一般是物理内存的2倍,小于256m,没有挂载点
/  根分区,尽可能大;


12.samba安装和配置


13.shell机制:
命令--解析(shell)--linux内核
查看操作系统使用的是哪种shell:env   //有三种shell
修改shell: chsh -s 输入新的shell;


shell补全功能:按tab键;
查阅历史命令:history
history 5:显示最近使用的5个命令;
!5:执行历史编号为5的命令;
!ls:执行最好一次以ls开头的命令;


14.linux网络
windows下查看ip情况:ipconfig,测试两个ip:ping 目标ip;追踪


路由:tracert 目标ip/域名;
linux下查看ip:ifconfig
eth0代表第一块网卡;


linux网络环境配置:
方法1:
(1)root身份,setup命令进入对网络配置,设置ip,子网掩码,默


认网关,dns;
(2)运行/etc/rc.d/init.d/network restart命令使设置生效;
方法2:
(1)ifconfig eth0  x.x.x.x对网卡进行设置
(2)ifconfig eth0 network x.x.x.x 对子网掩码设置
配置会立即生效,但是是临时生效;
方法3:
(1)修改/etc/sysconfig/network-scripts/ifcfg-eth0 这个文件里


各个属性可以修改,
(2)运行/etc/rc.d/init.d/network restart命令使设置生效;


15.rpm管理
是一种用于互联网下载包的打包及安装工具。它包含在某些linux分发版


中。生成有.rpm扩展名的文件。
rpm包的文件格式:
apache 1.3.23 11.i386.rpm
"apache"软件名称;
“1.3.23”软件版本号,主版本和次版本;
"i386"是软件所运行的硬件平台;
“rpm”文件扩展名,代表rpm包;
rpm常用命令:
rpm -qa        //查询linux中安装了哪些rpm软件;
        -qi
        -ql
rpm  -i  rpm包全路径名称:安装到当前系统;
rpm -ivh  rpm包全路径名称:安装包到当前系统有提示信息;
i=install  安装
v=verbose 提示
h=hash  进度条
rpm -e rpm包的名称  //删除rpm包
如果其他软件包依赖于你要卸载的软件包,卸载时则会产生错误信息。
rpm -U rpm包全路径    //升级rpm包


16.samba安装
windows主机彼此之间可以利用“网上邻居”来访问共享资源,nfs也


能使linux主机之间实现资源访问。而samba服务软件能够使windows


与linux之间实现资源共享。
检查是否安装了 :samba      rpm -qa | grep samba;
强制把依赖samba的软件都卸载掉:rpm -e --nodeps samba;
把samba开头的文件拷贝到/home,
rpm -ivh samba-common,,,,,,,
rpm -ivh samba-client,,,,,,
rpm -ivh samba-z,,,,,,///////安装好三个文件
samba的使用:
给一个linux用户设置一个samba密码:
把etc下的passwd所有用户变成samba用户:
cat  etc/passwd  |  


mksmabpasswd.sh>/etc/samba/smbpasswd
设置密码:smbpasswd 用户;
启动samba服务器:
service smb start
service smb stop
service smb restart


在windows下win+R:\\192.168.11.45   //连接192.168.11.45
windows下查看端口:netstat -an
端口监听越多越危险,尽可能关闭;


17.sshd
linux下自带有一个sshd服务,默认是启动的,监听的端口是22;
ssh客户端可以远程登录linux系统;
多用户操作;


ssh客户端安装在windows上;
使用ssh客户端登录linux(前提是linux的sshd服务启动):
ssh secure shell--quick connect--输入linux的ip--输入用户名密码
可以在linux下踢掉用户:


18.任务调度
任务调度指的是系统在某个时间执行的特定的命令或程序;
任务调度分类:
(1)系统工作:有些工作必须周而复始的执行,比如病毒扫描;
(2)个别用户工作:个别用户希望执行某些程序;
任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e命令。接着输入任务到调度文件;
(1)设置任务:
crontab -e
(2)每隔一定时间去执行  date>>/home/mydate
(3)0 2 * * *  date>>/home/mydate   //0代表第几分钟,2表示小


时,*代表天,*代表月,*代表星期;date>>/home/mydate是要执


行的事件;
例子:如果希望每分钟去执行:
* * * * *date>>/home/mydate
(4)怎样调度多个任务:
方法1、在crontab -e中直接写,不推荐;
方法2、可以把所有的任务写入到一个可执行文件(shell编


程)  vim mytask.sh;
给sh文件添加可执行权限:chmod 744 mytask.sh
把mytask.sh交给crontab执行:* * * * * /home/mytask.sh


终止任务:crontab -r 
列出当前任务:crontab -l


19.进程的概念和管理:
进程就是正在执行的程序;
线程:(1)轻量级的进程;
          (2)进程有独立的地址空间,线程没有;
          (3)线程不能独立存在,他是由进程创建的;
          (4)相对的讲,线程耗费的cpu和内存小于进程;
linux中,每个执行程序都称为一个进程,每一个进程都分配一个id号;
每个进程都会对应一个父进程,这个父进程可以复制多个子进程;
每个进程都可能以两种方式存在的,前台与后台。前台就是用户目前屏


幕上可以进行操作的;后台就是实际在操作,但屏幕上无法看到的进程



一般系统的服务都是后台进程,而且都会常驻系统中。直到关机才结束



ps命令查看进程;
ps -a:显示所有进程信息;
ps -aux显示全面的信息;
kill 16251:终止进程号为16251的进程;
kill -9 16251:强制杀死;
killall 把进程和该进程的子进程杀掉;
top 动态查看进程;
top与ps命令相似,top在执行一段时间可以更新正在运行的进程;
top -d 10: 指定更新时间,10s
ctrl +c退出top;
date  显示系统时间;
查看月历cal 5 2014;


20.监控网络状态信息:
netstat:显示网络统计信息;
netstat -an //按端口排序
netstat -anp //显示监听端口的进程;


ping 对方ip:检测远程主机是否正常,或是两部主机间的介质是否为断


、网线是否脱落或网卡故障;


显示数据包经过历程命令:traceroute,用来检测数据包在网络上传输


的过程。从本机到远程的主机完整路径,帮助管理员解决问题;


21.mysql安装和使用
解压缩;
groupadd mysql //创建mysql组
useradd -g mysql mysql  //新建mysql用户并放到mysql组;
scripts/mysql_install_db  --user=mysql //初始化数据库,要先进


入到mysql解压的目录
chown -R root . 修改文件的所有者,点代表当前目录,两个点代表上


个目录
chown -R mysql data 修改date文件夹的所有者
chgrp -R mysql .改变用户组
启动mysql bin/mysqld_safe  --user=mysql &   //&表示以后台的


方式启动;


22.补充:
当前目录:pwd
相对路径:从当前目录去寻找其他目录,例:..   //当前的上一层目录
绝对路径:从根目录去寻找其他目录。cd /home/    
工作目录:不同程序的工作目录不一样。


建立符号连接:
ln -s 原来  目标
例  ln -s /etc/inittab  inittab   //inittab指向实际文件/etc/inittab


grep  在文本中查询内容
管道命令:|
搜索文件及目录:find


配置 .bashrc文件可以指定某些程序在用户登录的时候就自动启动,
在root下面是系统环境,在用户下面是用户的环境;


23.压缩和解压缩
压缩:
  zip aa.zip  file
zip aa.zip  file1 file2
zip -r aa.zip file路径  //子目录一起压缩
压缩后删除原文件:zip -m file.zip  xxxfilexx
以unzip命令进行.zip文件的解压缩。
unzip file.zip
查看压缩包内容 unzip -Z file.zip;
--------------------------
以gzip和gunzip处理.gz文件


24.linux下java网络编程






0 0