LINUX操作系统
文件系统操作:
- 在复制文件的时候,cp -r wenjian1 wenjian2
将文件1复制到文件2中,当文件2起初不存在时,会把文件1 中的内容复制到文件2,并创建文件2;当文件2 起初就存在时,会将文件1这整个文件夹复制到文件2中!
- touch 文件 创建一个空文件
- cp和rm不为空的文件夹时要-r遍历,但是mv移动的时候就不需要-r遍历就可以把真个文件夹移动进去!
- rm在移除不为空的文件时,需要-r遍历,若要取消提示,加-f,即rm -rf 文件夹
- find 文件(不为空) 会系统地从父文件夹到最终的子文件依次罗列;可以使用正则表达式精确查找,find /etc -name pro* 查找etc目录下以pro开头的文件或者文件夹。
- head -20 wenjianming 表示文件只从头开始前20行开始打印显示;tail -20 wenjianming 表示文件只从尾部开始后20行开始打印显示。
- more wenjian 每次只会显示一个屏幕所能承载的文件内容,底部显示显示出的文件占整个文件的比例。Space快捷键显示下一个屏幕的内容,B显示上一个屏幕内容,enter显示下一行内容,Q退出。
文件传输-----------------------------------------------
- 上传(先下载 yum insatll lrzsz -y),使用命令rz完成上传功能
- 下载(下载文件,不是文件夹),sz file 将文件下载至windows系统中。
- df 查看磁盘信息(后面-k -m -h)
- du 查看文件或者目录的大小,默认值为kb,(-m -k -a(表示当前目录下的所有文件和文件夹))
- Ifconfig 查看网络配置信息(Inet addr:192.168.195.222 linux系统所在的本机地址;Bcast:192.168.195.225广播地址;MASK:255.255.255.0子网掩码)
- netstat:显示各种网络相关信息 属性(-a显示所有信息;-t显示tcp相关信息;-u显示udp相关信息)
lsof -i:22({----------------查看当前端口的运行情况
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、t xt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
})
- telnet 测试本机能否远程连接远程主机的端口(安装telnet) telnet 远程主机ip 远程端口
- curl -X GET url 请求模拟 模拟http的get请求 访问url地址
系统管理--------------------------------
切换用户:su 用户名
- adduser username 创建用户(创建用户的时候会默认的将用户添加到一个名字与用户名称相同的组中) passwd username 设置用户的密码
- usermod -l newname oldname 修改用户名(在root权限下修改其它普通用户,并且该用户不再登录状态)
- Usermod -L username 锁定用户(在root权限下锁定其它普通用户,并且该用户不再登录状态)
- Usermod -U username 解锁用户(在root权限下解锁其它普通用户,并且该用户不再登录状态)
- whoami 我是谁 即查看当前登录的用户名
- 普通用户可以查看/etc/passwd文件来查看当前系统的所有用户;root用户查看/etc/shadow查看系统所有用户。
- userdel -r username 删除用户(在root权限下删除其它普通用户,并且该用户不再登录状态)
- groupadd groupname 创建用户组;groupdel groupname 删除用户组;groupmod -n newname oldname 修改用户组的名字;groups 查看当前登录用户所在组中的组成员
- usermod -g 组名 用户名 将用户所在的主组改为其他组; usermod -G 组名 用户名 将用户名添加到附加组中(即一个用户名可以有多个组,一个附加组中可以有好多个用户,利用cat /etc/group来查看附加组中的用户)
系统权限----------------------
- ll /目录 查看目录下的所有文件和目录
ll命令中显示的内容如下:
标识 相关权限 用户 用户组 大小 时间 文件名
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
这 10 个字符确定不同用户能对文件干什么
第一个字符代表文件(-)、目录(d),链接(l).
- 其余字符每 3 个一组(rwx) : 读(r)、写(w)、执行(x)
- 第一组 rwx:文件所有者的权限是 r 读、w 写和 x 执行
- 第二组 rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组 r--:不与文件所有者同组的其他用户的权限是读不能写和执行也可用数字表示为:r=4,w=2,x=1 因此 rwx=4+2+1=7
- 1 表示连接的文件数
- root 表示用户
- root 表示用户所在的组
- 1213 表示文件大小(字节)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
- chown username 文件/目录 将文件或者目录修改拥有人; chown username:usergroup 文件/目录 同时修改文件或目录的所有者以及所在的组; chown -R username 目录 表示将整个目录遍历修改所有者,即里面的文件也会被一起修改所有者。
- UGO模型(U:user,即文件的所有者/所在用户;G:group,即文件所在组;O:other,即不属于上面两者的就属于other)
- chmod (ugo中的任意一个或几个)+/-rwx filename 表示将用户、用户所在组中的其它用户、其它用户对这个文件进行读写执行的权限修改。也可以用chmod (4/2/1) filename表示文件对应的权限,(用户)(用户所在组的其它用户)(其它用户)
- cat /etc/shadow(管理员)以及cat /etc/passwd(普通用户)--------查看系统中所有用户。cat /etc/group------查看附加组中的用户(必须添加到附加组中,主组中的用户不显示)
- sudo 权限配置------vim /etc/sudoers
被授权用户 ALL=(配置什么用户或用户组的权限) 需要配置的命令
*如果想把权限授权一个组,在组名前面加上%即可,格式和用户权限设置一致;在被授权用户使用这些配置的命令时,先输入sudo来进行用户密码验证才能使用要使用的命令。如果不想要密码验证,就可以在配置的时候加上NOPASSWD: 如下所示:
系统时间-----------------------------------
- cal 查看日历 date 查看当前时间的信息
- 同步当前linux系统的时间,需要先下载ntpdate,再利用命令行:
ntpdate cn.ntp.org.cn来进行同步时间服务器cn.ntp.org.cn的时间。
重定向和管道---------------------------------
输出重定向:
- > 前面的输出内容覆盖到后面文件的内容,前面的输出不打印,可以通过查看后面被覆盖的文件来查看前面的输出内容
- >> 前面的输出内容追加到后面文件的内容,前面的输出不打印,可以通过查看后面被追加的文件来查看前面的输出内容
- echo “要输入的内容” 相当于eclipse中的syso(system.out.println(“要输入的内容”))
输入重定向:
- < 将后面文件的内容作为前面命令的输入
例如: cat < myfile-------------将myfile文件的内容作为cat的输入,即查看打印出了myfile中的内容。
标准输出重定向-----------------------------------
- 1>(相当于>) 即前面的命令是有效的、正确的才会把输出的内容覆盖到后面的文件中。
- 2> 即前面的命令是错误的或者无效的才会把输出的内容覆盖到后面的文件中。 例如:cat nnn 2> myfile(前面的cat nnn肯定是错误的,因为没有事先创建nnn文件,会报错cat: nnn: No such file or directory,这时会把这个错误的信息也就是输出的内容覆盖到myfile文件中,不妨打印myfile文件试试,里面的内容就是cat: nnn: No such file or directory)
- 结合使用符号 2>&1 即无论前面的是错误的还是正确的都会将前面的输出覆盖到后面的文件中。
- 以上全部是>覆盖重定向,同理可以使用>> 追加重定向。
管道------------------------------
- 管道符“|” 即前面的输出作为后面的输入
例如常用的一个命令:netstat -anp | grep 22(前面netstat -anp输出的是网络相关的信息,后面搜索22号端口------------即搜索22号端口的相关信息)
- 命令执行控制语句----------&&-------------前面执行成功才会执行后面的(前面不成功会直接报错);--------------||-----------------前面执行失败才会执行后面的(前面执行失败会直接执行后面的命令)
信息黑洞 /dev/null----------------------所有的东西可以往信息黑洞中扔并且不会显示,扔进去在里面就被丢失,所以不占内存。例如:cat myfile > /dev/null
ll > /dev/null等。