Linux总结
一、文件命令:
进入 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)并把它发送给客户端软件。
客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。
与第一种级别相比,第二种级别不需要在网络上传送用户口令。
另外,第二种级别不仅加密所有传送的数据,而"中间人"这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能慢一些。