Linux介绍
Linux,Linux Is No UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。 [1]
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。 [2]
Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。 [3]
Linux常用命令
基本命令
对于java开发人员对linux操作的一些常用命令
查看ip地址:ip addr | ifconfig
查看进程:ps -ef | grep 关键字
杀死进程:kill -9 pid
查看端口占用:netstart -tnlp | grep 8080
重启:reboot
关机:shutdown -h now
操作服务:systemctl start | stop | restart 服务名(sshd, network, firewalld)
Systemctl start firewalld 打开linux中的防火墙
Systemctl stop firewalld 关闭linux中的防火墙
Systemctl restart firewalld 重启linux中的防火墙
clear:清楚终端内容
编辑文件:vi vim
保存退出:先按esc 然后!wq保存退出
不保存文件,强制退出vi命令 :q!
保存文件,不退出vi命令 :w
保存文件,退出vi命令 :wq
重启网卡:systemctl restart network
Linux默认的超级用户root,了解3个配置文件
/etc/passwd:存储用户信息 查看用户:tail-5/etc/passwd
/etc/group : 存储组信息 查看组: tail -5 /etc/group
/etc/shadow :存储密码 查看密码: tail -5 /etc/shadow
添加用户和用户组
添加一个组:Groupadd hello
添加用户:Useradd -g 主用户组 用户名 useradd -g hello helloworld
在 home文件夹中可以查看到,cd /home 然后ls
Usedel
Passwd 用户名 例如: passwd helloworld 密码长度任意
Whoami : 查看当前登录的用户名
1. ls命令
实例:
可以查看文件夹包含的文件,查看目录信息等
ls -a 列出目录所有的文件,并且包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
2. cd命令
实例:
cd命令语法: cd[目录名] //切换当前目录到...目录
cd / 进入到要目录
cd ~ 进入到Home(家)目录
cd - 进入到上一次的工作路径
cd !$ 把上一个命令的参数作为cd参照使用
3. pwd命令
能够查看当前的工作目录路径
实例:
pwd 查看当前路径
pwd -p 查看软链接的实际路径
4. mkdir命令及touch命令
mkdir命令可以创建文件,并且可以递归创建文件夹
实例:
mkdir text 在当前工作目录下创建名为text的文件夹
mkdir text vide o 并列创建多个文件夹/目录
mkdir -p hello/world/test 递归创建目录
创建文件命令:touch
touch test.txt
5. rm命令及rmdir命令
rm命令 :删除一个目录中的一个或多个文件或目录
rmdir命令:从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。注意:不能删除非空目录
实例:
rm -f 文件:rm -f test.txt //删除文件
rm -i *.log文件: rm -i *.log //删除任何.log文件;删除前逐一询问确认
rm -rf 目录: rm -rf test //删除test子目录及子目录中所有档案删除,并且不用一一确认
rm -- -f* //删除以-f开头文件
当parent子目录被删除后使它也成为空目录的话,则顺便一并删除
rmdir -p parent/child/child11
6. mv命令
移动文件或修改文件
实例:
(1)将文件test.log重命名为test1.txt
mv test.log test1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mv llog1.txt log2.txt log3.txt /test3
(3)将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
(4)移动当前文件夹下的所有文件到上一级目录
mv * ../
mv 原文件 移动到的目录/新名称
重命名目录: mv hello hellos
目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名
mv /zeng/hua/nx.txt /zeng/hua/nxx.txt
目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动。
mv /zeng/hua/nx.txt /zeng/xiao
目标目录与原目录一致, 指定了新文件名,效果就是:移动 + 重命名
mv /zeng/hua/nx.txt /zeng/xiao/ni.txt
7. cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样
cp 命令使用 -r 参数可以将 packageA 下的所有文件拷贝到 packageB 中:
cp -r /home/packageA/* /home/cp/packageB/
复制到新文件夹后重命名
cp -r /home/packageA/nx.txt /home/cp/packageB/hua.txt
将一个文件夹复制到另一个文件夹下,以下实例 packageA 文件会拷贝到 packageB 中
cp -r /home/packageA /home/packageB
8. cat命令
cat主要有三大功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file
-b对非空输出行号 -n输出所有行号
(1)把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用here doc生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
9. chmod命令
用于改变Linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用
ls -l test.txt
查找
以文件log2012.log为例:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
常用参数:
-c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
实例:
(1)增加文件t.log所有用户可执行权限
chmod a+x t.log
(2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息
chmod u=r t.log -c
(3)给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)
(4)将test目录及其子目录所有文件添加可读权限
chmod u+r,g+r,o+r -R text/ -c