Linux 学习记录
文件操作:
(1.)创建文件 touch fileName
(2.)复制文件 cp -i(如果文件已存在,询问是否覆盖) source(需要复制的文件) target(复制后的文件或目录名)
复制目录 cp -R (表示递归复制整个目录) source(原目录) target(复制后目录)
(3.)重命名文件或移动文件 mv -i(如果文件已存在,询问是否覆盖) old(原文件名) new(文件名或移动后目录)
(4.)删除文件 rm -i(询问) target (可以加入 -f 参数强制删除和加入-r参数就入目录删除其中的文件,如:rm -rf myfile,)
(5.)创建目录 :mkdir dir ,如果要创建多级目录:mkdir -p dir1/dir2/dir2
(6.)删除目录:rmdir dir(只能删除空目录,如目录里还有东西,必须先把目录里的东西删除掉。可以使用rm -r 删除)
查看文件:
(1.)查看文件类型 file fileName
(2.)查看整个文件 cat fileName(参数:-n 会给所有行加上行号)
(3.)more fileName:也是查看文件命令,但会在显示每页数据后停下来
(4.)less fileName:与more相同,但是比more强大,能够实现文本文件中翻动。
(5.)查看部分文件:tail fileName 会显示文件最后的几行内容。默认情况下,它会显示文件末尾10行。
tail -n 2 fileName可以在命令行中加入-n参数来修改所显示的行数。
(6.)head fileName:会显示文件开头那几行。默认也只显示前10行。类似于tail命令,它也支持-n参数。这两个命令都允许你在破折号后面输入想要显示的行数:head -5 fileName
更多:
(1.)ps 输出运行在系统上的所有程序的信息
参数:
-A:显示所有进程 -d:显示除控制进程外的所有进 -e:显示所有进程
-f:显示完整格式的输出 -l:显示长列表
(2.)top 跟ps命令相似,能够显示进程信息,但它是实时显示的。
(3.)结束进程:kill pid(-9:无条件终止 -2:中断),killall name:可通过进程名来结束进程,支持通配符
(4.)监控磁盘:df 查看已挂载的磁盘空间使用情况 (-h把输出中的磁盘空间转换成易读格式)
(5.)du:查看当前目录下所有文件、目录和子目录的磁盘使用情况
(-c:显示所有已列出文件的总大小 -h:易读格式输出 -s:显示每个输入参数的总计)
(6.)sort:排序数据
(7.)grep [options] pattern [file]:搜索数据
(-v:进行反向搜索 -n:显示匹配模式的行所在的行号 -c:显示有多少行匹配 -e:指定多个模式)
(8.)压缩数据:gzip 查看压缩过的文本文件内容:gzcat 解压文件:gunzip (-c:把解压后的文件输出到标准输出设备
-d:解压到当前目录)
(9.)归档数据:tar
(-c:创建一个新的tar归档文件 -t:列出已有的tar归档文件内容 -x:从已有的归档文件提取内容
-f:输出结果到文件或设备 -z:将输出重定向给gzip命令来压缩内容)
(10.)别名:alias option如果想持久化,则放入$HOME/(.bashrc或.bash_profile)并source $HOME/(.bashrc或.bash_profile)使其生效
环境变量:
(1.)查看全局环境变量:env 或 printenv
要显示个别环境变量的值使用printenv name 或者 echo $name
(2.)set:显示某个特定进程设置的所有环境变量(包括局部变量,全局变量以及用户自定义变量)
(3.)创建局部用户变量:echo $name && name =value,如果value含有空格,必须使用单引号来界定字符串的首和尾部。
(4.)创建全局环境变量:name=value && export name(修改子shell的全局环境变量并不会影响父shell的)
(5.)删除环境变量:unset name
(6.)持久环境变量:全局变量修改/etc/profile(建议在/etc/profile.d目录中创建一个以.sh结尾的文件。把所有的全局环境变量放进这个文件) 个人用户变量则修改$HOME/.bash_profile 或 $HOME/.bashrc
文件权限:
su - :该指令允许你切换到root用户 who:显示当前是谁登陆到了系统上
(1.)用户密码控制文件/etc/shadow 仅root用户可以访问
(2.)添加新用户:useradd [参数] [用户名] 常用参数如下:(useradd -D 可查看默认信息)
-e:用YYYY-MM-DD格式指定一个账户过期的日期 -g:指定用户登陆组的GID或用户名
-G:指定用户除登陆组之外所属的一个或多个附属组 -k:必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录
-m:创建用户的HOME目录 -n:创建一个与用户登陆名同名的用户组 -r:创建系统账户
-p:为用户指定密码 -s:指定默认的登陆shell -u:为用户指定唯一的UID
例子:useradd -mk /opt/myweb -p 123456 my_login_name,创建完成后需执行passwd 123456(刚才填写的密码),不然账户无法登陆
如果想修改系统的默认值,在-D后面加上如下参数:(比如useradd -D -b /opt/my)
-b:更改默认的创建用户HOME目录的位置 -e:更改默认新账户的过期时间 -g:更改默认组名称或ID
-s:更改默认的登陆shell
(2.)删除用户:userdel [loging_name](只会删除用户信息,而不会删除该账户的任何文件),如果加上-r参数,会删除用户的HOME目录及邮件目录。
(3.)修改用户:
usermod [选项] [登陆名], 选项:-l修改用户账户的登陆名,-L锁定用户,使用户无法登陆,-p修改账户的密码,-U解除锁定
passwd:可以修改自己的密码,root账户可以修改别人的密码。-e选项能强制用户下次登陆时修改密码
chpasswd:批量修改密码
(4.)组信息保存在/etc/group中(如:root:x:0:root对应--》组名:组密码:GID:属于该组的用户列表)
(5.)创建组:groupadd [组名]
(6.)修改组:groupmod [选项] [组名]
-g:修改已有组的GID -n:修改组名
(7.)文件权限:-rwxrwxr-x (r代表可读,w代表可写,x代表可执行)
红色:-代表文件,d代表目录等
蓝色(rwx):文件属主权限
绿色(rwx):属组用户权限
黄色(r-x):其他用户权限
(8.)umask 可以查看创建文件的默认权限(可通过umask [参数],如:umask 026来修改)
对于文件来说,全部权限值是666。而对于目录来说则是777
如果umask默认是022,那创建文件的默认权限则是666-022=644,创建目录默认权限则是777-022=755
(9.)改变权限:chmod [选项] [权限] [名称](例子:chmod 777 mytext.sh)
(10.)改变所属关系:
chown [选项] [登陆名或UID] [名称]:改变文件的属主
chgrp [组名] [文件名]:改变文件或目录的默认属主
安装软件程序:
(1.)找出系统上已安装的包:yum list installed
输入过多可以通过>重定向到一个文件中,比如:yum list installed > my.text 这样结果会写入文件中
(2.)查看包是否已经安装:yum list xterm
(3.)查看特定文件属于哪个软件包:yum provides file_name
(4.)安装软件:yum install package_name(该命令会从仓库安装软件包及它需要的依赖)
(5.)手动下载本地安装:yum localinstall package_name.rpm
(6.)列出已安装包的可用更新:yum list updates
(7.)更新特定的软件包:yum update package_name,也可以对列表中的所有包进行更新:yum update
(8.)卸载软件:yum remove package_name(只删除软件,保留配置和数据文件),yum erase package_name(删除软件和它的所有文件)
(9.)查看yum下载软件的仓库:yum repolist