Linux总结

jopen 9年前

一、文件命令:

进入 home/liuyazhuang 目录

         cd/home/liuyazhuang

 

ls 显示目录内容:

         ls

mkdir 创建一个目录 家庭A:

         mkdirfamilyA

        

cd 切换目录 进入familyA 目录:

         cdfamilyA

 

ls 显示当前目录内容:

         ls

 

touch 新建空文件

         touchfather.txt 家庭A中有一个父亲

         touchmother.txt 有一个母亲

         touchson.txt 儿子

         touchdaughter.txt 女儿

 

mkdir 创建一个目录

         mkdirhouse 房子

 

cd 切换目录

         cdhouse

 

mkdir 创建目录

         mkdirkitchen 厨房

         mkdirbathroom 卫生间

         mkdirroomA

         mkdirroomB

         mkdirroomC

         touchsofa.txt 沙发

 

ls 显示目录内容:

         ls显示

 

cd 切换目录

         cdroomB

 

touch 新建空文件

         touchbed.txt

         echo"Your are the best boy." > book.txt 建立带简单内容的文件

         catbook.txt 查看文件内容

 

cd 切换目录

         cd.. 返回上一级目录

         cdroomC

 

touch 新建空文件

         touchbed.txt

         echo"Your are the best girl." > book.txt

         catbook.txt

         touchdoll.txt

 

cp 拷贝文件

         cpdoll.txt /home/liuyazhuang/familyA/house/roomB

 

cd 切换目录

         cd..

         cdroomB

 

ls 显示目录内容:

         ls显示

 

cd 切换目录

         cd..

 

mv 移动文件

         mvsofa.txt /home/liuyazhuang/familyA/house/roomB

 

cd 切换目录

         cdroomB

 

ls 显示目录内容:

         ls显示

 

rm 删除文件目录

         rmdoll.txt

        

more less 分页显示

         morebook.txt

 

wc 显示文档行数,字数,字符数

         wcbook.txt

 

find 查找指定的文件

         find-name book.txt

 

grep 查找指定字符串

         grepbest book.txt

 

pwd 显示当前目录

tree 显示目录树

rmdir 删除空目录

         rmdirbathroom

 

ln -s 建立软连接

         ln-s /home/liuyazhuang/familyA/house/roomB /home/roomB

 

二、系统管理命令

stat 显示指定文件的相关信息

         cd/home/liuyazhuang

         statfamilyA

 

who、w 显示在线登录用户

         who

 

whoami 显示用户自己的身份

 

hostname 显示主机名称

         hostname

         hostname-i 显示主机IP

 

uname 显示系统信息

         uname-a 显示全部信息 (内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称)

 

top 显示当前系统中耗费资源最多的进程 动态显示过程,实时监控

ps 显示瞬间进程状态

         ps-aux  显示所有瞬间进程状态

 

du 显示指定的文件(目录)已使用的磁盘空间的总量 .可以使用--help查看帮助

         du

         dufamilyA

         du-h familyA

 

df 显示文件系统磁盘空间的使用情况

         df

         df-h

 

free 显示当前内存和交换空间的使用情况      

 

ifconfig 显示网络接口信息

 

ping 测试网络的连通性

 

netstat 显示网络状态信息

 

三、备份压缩命令

gzip 命令

把/home/liuyazhuang目录下的familyA目录下所有文件压缩成.gz文件

         cd/home/liuyazhuang

         tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA 首先进行打包,因为gzip不能直接对目录进行压缩

         gzipfamilyA.tar 进行压缩

         gzip-l familyA.tar.gz 查看压缩包详细信息

 

解压缩familyA.tar

         gzip-dv familyA.tar.gz

         gzip-v -9 familyA.tar 高压缩比

         gzip-l familyA.tar.gz

 

         gzip-dv familyA.tar.gz

         gizp-v -1 familyA.tar 低压缩比

         gzip-l familyA.tar.gz

 

bzip2 命令

 

把/home/liuyazhuang目录下的familyA目录下所有文件压缩成.bz2文件

         cd/home/liuyazhuang

         tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA

         bzip2-z familyA.tar 压缩需加上参数-z

 

解压缩liuyazhuang.tar.bz2

         bzip2-d familyA.tar.bz2

 

tar  命令

将整个/home/liuyazhuang/familyA目录下的文件全部打包成为/home/liuyazhuang/familyA.tar

 

仅打包,不压缩

         tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA

 

打包后,以gzip压缩

         tar-zcvf /home/liuyazhuang/familyA.tar.gz /home/liuyazhuang/familyA

 

打包后,以bzip2压缩

         tar-jcvf /home/liuyazhuang/familyA.tar.bz2 /home/liuyazhuang/familyA

 

         #特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识

         #如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar file

         #如果加j参数,则以.tar.bz2来作为文档名

 

四、VIM编辑器

VIM 编辑器

 

在/home/liuyazhuang/目录下建立一个bank.txt文件

         cd/home/liuyazhuang/familyA/

         touchbank.txt

         vimbank.txt

        

         数据命令i 进入插入模式

         输入内容

         ICBC

         RMB:10000000000

         USD:100000000000

         user:familyA.father

 

         ctrl+C退出插入模式或者敲ESC切换至命令模式

 

         :wq回车 保存

 

编辑bank.txt 内容不保存退出

         vimbank.txt

         数据命令i 进入插入模式

         随便输入内容

        

         ctrl+C退出插入模式或者敲ESC

         :q!回车 强制退出

 

编辑bank.txt 内容并显示行号

         vimbank.txt

         :setnumber 回车

         :q回车 正常退出

 

五、用户和组

添加一个账户

 

         useradd-m ltw  参数-m用来设定系统添加账户时自动建立用户根目录

         adduser

 

修改ltw账户的登录名称

         usermod-l litingwei ltw

 

修改litingwei账户的登录目录 (注意:修改前需要提前手动建立好litingwei目录)

         usermod-d /home/litingwei litingwei

 

锁定用户litingwei账号密码

         usermod-L litingwei 锁定后账号不可使用

 

解锁用户litingwei账号密码

         usermod-U litingwei

 

添加一个分组

         groupaddsuperman

 

修改superman分组

         groupmod-g 355 superman

 

删除 superman 分组

         groupdelsuperman

 

修改root 密码(root密码尚未设定,需要设定密码后方可使用)

         passwdroot

 

root ,litingwei 账户切换

         su- root

         或sudo -i 切换root

 

删除litingwei账号

         userdel-r litingwei (-r 连同用户目录一起删除)

 

六、文件权限

显示出文件 /home/liuyazhuang/familyA/bank.txt 的权限

         cd/home/liuyazhuang/familyA/

         ls-l

 

切换至litingwei用户

         sulitingwei

 

用litingwei账户查看是否可以读写bank.txt

         catbank.txt

         vimbank.txt 此时litingwei没有权限进行修改文件

 

切换回liuyazhuang

         suliuyazhuang

 

修改bank.txt 权限为其他用户可读写

         chmodo+w bank.txt

 

再切换回litingwei

         sulitingwei

 

修改bank.txt

         vimbank.txt

 

七、搭建java环境

第一步安装jdk

su - root 切换成root用户

sudo -i 不需要密码直接切换成root

 

1.进入usr目录

cd /usr

 

2.在usr目录下建立java安装目录

mkdir java

 

3.将jdk-6u24-linux-i586.bin拷贝到java目录下

cp /home/liuyazhuang/Desktop/jdk-6u24-linux-i586.bin/usr/java/

 

4.安装jdk

cd /usr/java

 

./jdk-6u24-linux-i586.bin

5.安装完毕为他建立一个链接以节省目录长度

ln -s /usr/java/jdk1.6.0_24/ /usr/jdk

 

6.编辑配置文件

vim /etc/profile

添加如下内容:

JAVA_HOME=/usr/jdk

CLASSPATH=$JAVA_HOME/lib/

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

 

8.重启机器或source/etc/profile

 

sudo shutdown -r now

 

9.查看安装情况

java -version

java version "1.6.0_24"

Java(TM) SE Runtime Environment (build1.6.0_24-b07)

Java HotSpot(TM) Client VM (build 19.1-b02,mixed mode, sharing)

 

第二步安装 tomcat

tar -zxvf apache-tomcat-6.0.29.tar.gz -C/opt       (解压到/opt下)

ln -s /opt/apache-tomcat-6.0.29//opt/tomcat   (建立链接文件)

启动tomcat

cd /opt/tomcat/bin/

./startup.sh   (注意:点代表当前目录下)

如果启动不了,请尝试

-i 切换到root用户再重新启动

./startup.sh

测试http://127.0.0.1:8080/

 

第三步安装eclipse

tar -zxvf eclipse-SDK-4.2-linux-gtk.tar.gz-C /opt (解压到/usr/local目录下并生成/usr/local/eclipse目录)

cd /opt/eclipse/

./eclipse (注意:点代表当前目录下)

 

八、ssh远程登录

1.安装openssh-server

   sudo dpkg -i openssh-client_1%3a5.5p1-4ubuntu6_i386.deb

   sudo dpkg -i openssh-server_1%3a5.5p1-4ubuntu6_i386.deb

    如果连网的情况下可以sudoapt-get install openssh-server进行安装

 

2.设置一下ip

   sudo ifconfig eth0 192.168.1.222 netmask 255.255.255.0

   

3. 启动ssh-server。

$ /etc/init.d/ssh restart

service ssh restart

 

4. 确认ssh-server已经正常工作。

$ netstat -tlp

tcp6   0    0 *:ssh                *:*                   LISTEN     -

看到上面这一行输出说明ssh-server已经在运行了。

 

5. 在客户端通过ssh登录服务器。假设服务器的IP地址是192.168.0.103,登录的用户名是hyx。

$ ssh -l hyx 192.168.0.103

接下来会提示输入密码,然后就能成功登录到服务器上了

 

九、SSH信任

1.在第一台主机上生成密钥文件(用户根目录下就产生了.ssh的隐含目录,进入些目录下产生两个文件)

id_dsa            ------------      私钥文件

id_dsa.pub    ------------      公钥文件

命令:

ssh-keygen -d

 

2.将id_dsa.pub复制一份文件名为:authorized_keys2

并将 authorized_keys2 的属性改为 600 即文件所属用户有读和写的权限,组用户和其它用户禁止读写

命令:

cp id_dsa.pub authorized_keys2

chmod 600 authorized_keys2

 

3.在第二台主机上生成密钥文件

参看前两步

 

4.将server_1上/home/work/.ssh目录下的id_dsa.pub公钥文件拷到

server_2的/home/work/.ssh目录下(注意:不要覆盖掉server_2的id_dsa.pub,拷时要改名)

命令:

scp id_dsa.pubwork@server_2:.ssh/server_1.pub

 

5.查看server_2上.ssh的目录文件有:

authorized_keys2

id_dsa

id_dsa.pub

server_1.pub

 

6.将server_1.pub内容放到authorized_keys2,注意一定要用追加操作">>" 不能用 ">")

命令:

cat server_1.pub >>authorized_keys2

 

5.测试

ssh work@server_2

 

第一种级别(基于口令的安全验证),

只要你知道自己的帐号和口令,就可以登录到远程主机,

并且所有传输的数据都会被加密。

但是,这种验证方式不能保证你正在连接的服务器就是你想连接的服务器。

可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种攻击方式的攻击。

 

第二种级别(基于密匙的安全验证),需要依靠密匙,

也就是你必须为自己创建一对密匙,并把公有密匙放在需要访问的服务器上。

如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。

服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密匙,

然后把它和你发送过来的公有密匙进行比较。如果两个密匙一致,服务器就用公有密匙加密"质询"(challenge)并把它发送给客户端软件。

客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。

 

 与第一种级别相比,第二种级别不需要在网络上传送用户口令。

 另外,第二种级别不仅加密所有传送的数据,而"中间人"这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能慢一些。