最初的命令
来源:互联网 发布:书法字帖 知乎 编辑:程序博客网 时间:2024/06/05 07:45
starx 显示桌面
pwd 显示当前目录
cd 切换目录 (/ (切换根目录,如:cd bin/默认的/是最上层的目录))
ls 查看当前目录
shut down -h now 立刻关机
shut down-r now 立刻重启
reboot 重新开机
logout 登出
vi编辑器
vi name.java
i
esc
:wq(保存退出)/q!(退出不修改)
ls/ls -l(查看文件的操作)
javac name.java(编译)
java name(运行)
---c/c++----
vi name.c/cpp
....
g++/gcc (-Wall -W) name.cpp/c(编译)(-Werror 是将警告变成错误,但仍输出警告)。
. / a.out(同名会被覆盖,a的名字可以任意赋,如建立文件 o my name.c,然后编译完毕后,可直接运行./my.out)
cd 切换目录 (/ (切换根目录,如:cd bin/))
目录:root(root 用户文件) home(普通用户) bin(普通命令) sbin(需要权限命令,系统命令) mnt(光驱,软驱,可是挂载点不一定) etc(配置相关文件) var(临时文件) boot(引导相关文件) usr(程序默认存放安装文件夹)
只有root 用户使用的useradd name(添加用户) paswd name(加设密码,默认状态下是当前用户) userdel (r)(会删除用户主目录) name(删除用户)
系统级别:0(关机级别,一开机就关闭),1(单用户无网),2(多用户无网),3(多用户有网),4(未使用),5(图形界面),6(重启)
修改(修改时加上vi)/etc/initab的id:5(改这里):initdefault 可修改系统级别
不小心改为6级别的:在grub引导界面中输入e,第二行再输入e 直接改系统级别(改成1 ,只要单用户模式不会读这个重启文件,这里有个漏洞,任何的人都可以进入界面
,可以趁机找回密码),按下b
常用命令开始:
ls
ls -a(列出隐藏文件),-l(长文件格式),也可ls -al 与之类似的有dir
mkdir 建立目录
rmdir 删除空目录
touch 建立空文件
rm 删除文件或目录
cp a/b 把a 文件复制到b目录下
table 键 自动补全
more (文件名)分页显示
| 管道命令
grep 找文件中的关键字“字符串” 文件名
man 帮助
passwd xxx 改xx的密码
用户组:一个用户可以存在于多个组中。
ls -ahl 可以看见文件所在组
当一个用户创建了一个文件,这个文件所在组就是用户所在组
charp 组名 文件名 // 改文件所在组。
grouadd xxx //添加组
用vi或者cat查看etc下的grop文件可以看到各组的情况,每一行数据的最后一个数字代表组名的ID
useradd -g 组名x 用户名 在组x中添加用户
在/etc/passwd/中可以发现各用户的情况,其中有各自的ID和各自所在组的ID,组目录,还可以看见一个shell解析器(用来解析命令给内核看的)
再创建完一个文件后ls一下,会发现文件文件属于哪个用户,以及这个用户的一些信息,还有在这一行中可以发现一个单独的数字,如果这个文件是个文件夹,那这个数字显示这个文件夹下面有几个文件,否则就是1
最重要的最之前的一串字符:(以 vi hha.java后的结果为例)
-rw-r--r--
1 2 3 4 5 6 7 8 9 10(这行数字是自己加的,代表各字符的位置)
表示了各类用户对该文件的操作权限
1:代表文件类型 ‘-’普通,‘d’目录,‘l'连接
234:文件所以这对该文件的权限,权限分三种:
这里的r代表可读权限,还可以用4表示
w可写或2
x或1可执行权限
567:文件所在组对该文件的权限(除所有者外的同组用户)
8910:其他组用户的权限
cd ..寻找用户目录(只能进自己的 目录)所以别的用户写的文件无法访问,因此,要修改文件权限
:其实每个用户的目录也只是一个文件,它的权限记载同上
chmod abc 文件名
(上面的命令只有要修改的用户自己或者root)who am i(可以看看自己是谁)
若abc=777,那么第一位代表对所有者,第二位所在组,第三位代表其他用户
a,b,c分别可以为1,2,4或者1+2,2+4,1+4,1+2+4,至于这些数字的意思,上面有提到。
改变用户所在组:usermod -g 组名 用户名 只有root用
补充ls -ahl 看文件所有者
chown 改变文件所有者
chown 新主人(:新属组) 文件名或目录名
如何安装文件:
挂载的概念:linux下,要运用某个磁盘分区就挂载一下//最好在根目录下
mont mnt/cd rom/ 挂载光驱
umont是卸载
安装文件是最好把文件拷贝到home目录下,现在要用那个.bin文件
cp 文件 /home
安装./xxxx.bin
补充:mount -t vfat /dev/sda/mnt/u //这是挂载U盘
配置自己的文件环境:
/etc/profile(环境配置文件)
用vi命令打开可以修改默认的选择软件,如把老的gcc换成新的,还有linux 下的注释符号是#
现在已装jdk的实验为样例
把最后几行改为 JAVA_HOME=/home/xxxx(照原来的抄吧,不过也可以自己改路径的)
不改前面的路径,追加一个路径:PATH#SPATH:home/xxxxx/xx(现在文件的路径)
还有CLASSPATH
expotrt JAVA_HOME PATH CLASSPATH
重新登录才会生效
装eclipse软件:
tar -zxvf xx.tar.gz
启动eclipse
cd eclipse 普通文件是白的,文件夹是蓝的,绿色的是可执行文件
所以打开绿色的eclipse ./eclipse(这是不科学的)
要先进入图形界面。。。,之后就可以了
运行程序 ./xxx (& //以后台方式运行)
启动时还会有一个进程号
镜像文件制作:
安装win iso文件,在windows下制作
linux分区:
有基本分区和扩展分区,一块硬盘中基本分区和扩展分区之和不可以大于四
扩展分区需二次分区才可使用,那就是逻辑分区
主分区即基本分区一般只有一个,装操作系统。
对于linux而言,有几个分区就有几个驱动,每个分区都会获得一个字母来标记,可以用这个字母来绑定上面的文件和目录
所有的东西都是挂在根目录上的
linux就只有一个根目录
如boot等目录会有默认挂载区域
fdisk -l看linux情况
/dev/sda1(这是分区名称)
linux分区命名规则,硬盘分两种,IDE,SCSI等
如sda2,代表电脑用的是SCSI,a代表第一个硬盘(b是从属盘,c是辅助主盘,d是辅助从属盘),2,代表第二个分区,另外IDE是hdxx
逻辑分区是从5开始标号
df [目录全路径]可以看见目录所在分区 如df /boot/
(这里不知怎么的,字成这个样子了,小空缺不是空格,要看大空缺)
深层次上可以改变目录挂载方位
不过,献血把磁盘挂载到某一个目录上
如 mont /dev/sda1/ 某个目录,成功挂载。牢记linux的挂载机制
补充,df还可看磁盘使用情况
语句:df (-h 较准确)
在虚拟机中安装linux
/boot 分区一般为100M
swap为大小最好不超过256M
根分区尽可能的大
(自定义下)重要的是选择软件包:桌面环境选一个就可以了
linux shell
解释linux命令给内核看的程序就是shell,或者把内核显示的结果加工后给用户看《linux命令 编辑器和shell编程》
如同windows中的批处理文件
shell种类
Bourse /bin/sh
C /bin//csh
Kom /bin/ksh
ls -l bin/*sh(看一下有几个shell)
修改自己默认的shell:
env //查看目前使用的shell
cash -s /bin/cash 举例改shell
history //列出曾经执行过的命令
!5执行命令号为5的历史命令
先了解tcp/ip 协议《tcp/ip 详解》
配置网络 set up
ipconfig 看本机的ip(DOS),ifconfig(linux,有两段,第一段表示第一块网卡,那里是loop的是回路,to 的不是)。
ping 网址/ip,看某个网站的ip和速度
tracert 网址/ip,看到某个网址需要经过的网关
255.255是最所以网段的发送
127出去全0和全1是回路,看自己的网卡
子网通过路由器连接
网关分配ip地址
代理的概念:访问一个未被封杀的ip,由那个ip去帮助你访问你本想访问的ip,代理ip取到资料后,由那个ip送到你自己这里。
setup 选network...,打长空格自动分配ip,打table自己分配ip
运行/etc/rc.d/init.d/network restart 运行网卡
ifconfig cth0 临时改变ip
底层方法:linux下所有的设备都是一个文件,用vi或其他打开/etc/sysconfig/nework-scripts/ifcfg-eth0(这是网卡名,可以改的)
xstatic,dhcp,一个手动,一个自动。
这个改完后还是要重新运行刚才那个命令
windows与linux之间的对话,用samba
windows与linux之间的通讯,把linux与windows 的ip换到同一个段
samba:
rpm管理:红帽软件包管理工具,ubuntu没有,类似的是apt-get,dpkg之类的
samba安装,rpm -q samba
如果有,rpm -c samba
rpm -c --nodeps samba
把自己的文件挂载到linux 下
cp /mnt/cdrom/samba* /home
主要是rpm下的,省略。。。
创建用户 useradd youyou (未设置组,自动生成一个只含有youyou的组)
设置linux 密码
设置samba密码:cat /etc/passwd | mksmbgpasswd.sh >etc/samba/smbpasswd //把现在linux下所有的用户加到samba下
如果只想加入某一个linux用户,那么用grep 过滤
启动samba
sevice smb start
要使用samba,首先要保证samba是通的,用第二种方法改。
在windows下打开cmd( //IP地址),之后点点点
任务调度命令
1.设置任务
2.crontab -e
crontab任务调度 0 2 * * * date> /home/date(每天凌晨2时把date写到date文件中)
这个是前面那行数字的写法
* * * * * command 分 时 日 月 周 命令
调度多个任务:在crontab中直接写,多任务时会混乱。
把所有任务写到一个可执行文件中(shell 编程)
vi mytask.sh
之后用crontab调用
居然忘记了mv 的作用
-r是删除所有任务
-l列出当前命令调度
top:
第一行,系统运行时间,用户数,系统负载情况(3个数的个相加除以3大于0.6就危险了)
第二行,各种进程描述,记得僵尸进程,死了却还占空间和
dos 下的system idle,idle越大越好
第三行内存使用状况
swap分区情况,虚拟内存,虚拟内存是介于磁盘和内存之间的虚拟出来的内存,磁盘做内存,一般是物理内存的两倍,计算机导论中有啊
-d 时间,更新时间。
运行后输入u,监控用户,ctrl+c退出
date YYMMDDhhmm.SS cal 时间
netstat 显示系统网络情况 -an 按顺序 -anp 显示进程
traceroute 看数据包传送,追踪路由
route 路由表记录了最近的路由器
每隔一定时间去执行某个命令:
监控网路信息 dos下是netstart
尽可能的关闭端口
观看进程:进程的概念:进程是这种进行工作的程序
线程的概念:轻量级的进程,耗费的内存,CPU资源一般没有进程大,进程有独立的地址空间,线程没有,线程是由进程创建。具体可看计算机导论。
linux用folk java用Thread
相对来讲,线程耗费的cpu和内存比进程小
---------------------
linux中的进程都有两种方式存在,前台和后台。
系统服务都是后台方式的
ps -a.-u,-x
ps -aux(最全)
一号进程是所有进程的祖先
kill 进程 //终止进程,一般bash杀不死。-9,强力杀死
killall杀死该进程以及其子进程
top动态监控
ssh远程登录用,在setup中可以找到sshd
linux多用户,多任务
用iso方式安装mysql
挂载并复制,其中有个connect是mysql的驱动包
rm -f xxx,强制删除
解压缩 tar -jxvf 文件名
创建mysql组,在该组中创建mysql用户,在mysql加到mysql组中
进入mysql文件夹,初始化数据库 scripts/mysql_install_db -user=mysql
修改文件所有者 chown -r 改变全家。
chown -R root .
chown -R mysql data
chogrp -R mysql .
bin/mysql_safe /mysql 后台启动 --user=mysql &
mysql 监听段 3306
show database
在bin/mysql -u root -p ubuntu中似乎不用这么麻烦,直接写mysql 就可以了,可执行文件都在.bin下,所以要进入bin
任意目录都可用
改变环境,任何地方都可以
env | more,改path 好了
所有的路径会保存在某个文件下边 /root/.bash_profile 这里存着用户变量
重新登录
如果希望使个组都可以进mysql 则在.bash_profile中添加路径
/etc下也有,是所有用户的环境变量
使用:建立数据库和表
create databases 名字
use 数据库名
show databases
show tables
select * form
insert into users values
desc 表名
备份数据库 mysqldump -u root -p在shell下做 之后 数据库名>路径+文件名.dak,恢复箭头改成<
恢复数据库是要新建空数据
ssh借助windows,连接windows linux
linux会默认安装SSHD服务,默认启动,监听端口是22
netstat -ant
安装,使用。
确认两机是否互通,路由器是好东西,不用改ip就可以转换
ssh启动。
快速连接
输入ip
用top可简单发觉用户数。
用netstate 可操纵用户,有输入端口,这个和监听端口不同的。
踢人:netstat -anp,看见进程号,kill
当前目录
相对路径
绝对路径
工作目录:软件源文件存放的地方
pwd看当前目录
cd ..到上一层
cd 什么都不写,进入用户目录
vi补,默认创建文本
rm -rf彻底删除
cp -r(f 不需要询问) workspace/ /home
建连接文件
ln -s 源 目标 共享内库用
grep 目标,找个文件中的关键字
grep -n "12" /root/* 详细列出 这里可以写上很多的目标
管道命令,结果交给下一个。
find搜索文件和目录 *.txt
find -c(改过),-a(存过),内是负,前是正,-size(大小)
shell脚本,shell初写成时,需要增加执行权限
shell有变量,文件名字也是一种变量,可以用编程的方式作业
用户登录后自动执行的shell脚本文件
/etc/profile 是个shell脚本,配置系统环境变量,JDK等公用环境变量
/home 下也有类似的,每个用户下/.bashprofile ,配置用户的环境变量
用户执行后还会执行.bashrc文件,也是主目录下的etc和用户目录中都有
所有可以通过修改.bashrc文件,修改用户开机之后的一系列动作。
export命令
当你希望加入临时加入一个执行路径时,可以使用export
export PATH=$PATH:新路径
这样就可以执行只能在新路径下执行的命令了
这是临时修改
shell通配符理解
*字母或数字 ?数字
abc[1-6]
alias给命令一个别名
alias 别名= ' 原命令
linux的启动
BIOS自检,主要是看对硬件的基本设置
启动GRUB/LILO
运行内核,检测硬件
进行第一个进程init 1号
读取文件/etc/inittab
系统初始化脚本 /etc/rc.d/rc.sysinit
配置各种服务
网络再讲:
sock连接,创造了子网之间的连接。
研究连接windows与linux之间的数据通道
做一个客户端,服务器端,实现连接
soket是一个管道,监听用户知道连接成功,可以读取客户端读取的信息
- 最初的命令
- 最初的最初
- 最初的
- RFC962_TCP-4 的最初
- [imgFS]最初的想法
- 最初的梦想
- 最初的梦想
- 最初的梦想!
- 最初的接触
- 最初的感受
- 歌词:最初的梦想
- 最初的选择
- 最初的样子
- 找回最初的梦想
- 最初的梦想
- 最初的梦想
- 最初的动机
- 最初的梦
- 检测内核已加载模块的所有导出函数是否被inlinehook
- eclipse下运行nutch-2.0
- ASP.NET中生成缩略图的方法
- zoj 2107 Quoit Design(最近点对)
- 深入理解sizeof
- 最初的命令
- PuTTY 中文教程
- Ext dom操作
- 苹果广告词:一直以来让我深有感触的一段话
- 黑马程序员----银行管理系统
- mongoDB学习
- vs自带工具进行代码数字签名方法
- SQLSERVER2008 18456错误
- Oracle EBS pld file attach a LIBRARY