最初的命令

来源:互联网 发布:书法字帖 知乎 编辑:程序博客网 时间: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是一个管道,监听用户知道连接成功,可以读取客户端读取的信息

原创粉丝点击