Linux基本命令
help:帮助命令
使用格式:
help 加需要查看的命令,例如help pwd
会得到相关命令的描述
命令 --help,例如ls --help
会查看到相关命令的用法
man:帮助手册命令
man 加需要查看的命令,例如man file
会得到file命令的使用手册
将帮助手册导出成文本文件,以便学习
man 加命令 | col -b > 导出文件名
例如将LS命令的使用方法导出成T60.TXT文件
man ls | col -b > t60.txt
col -b的含义是去掉特殊字符。
pwd:查看当前所在目录
cd:切换目录
例如进入T60目录:cd t60
切换到上级目录:cd ..
切换到跟目录:cd /
切换到宿主目录:cd ~
退回之前的目录:cd -
ls:显示目录内容
参数:
-l:以详细列表显示目录内容
-a:显示隐藏文件
-d:只显示当前目录自己的属性
-h:按照KB显示文件大小,需要与-l一起使用
-R:显示目录下所有子目录中的内容
例如查看当前目录下文件和文件夹的大小:ls -lh
查看root文件夹下T60文件的大小:ls -lh /root/t60
查看过程支持通配符,?代表一个字符,代表任意字符
例如查看root文件夹下所有S开头的文件:ls -lh /root/s.*
du:查看目录和文件的空间占用情况
参数:
-a:统计所有文件
-h:按照KB显示大小
-s:本目录总大小
例如查看root文件夹的总大小:du -sh /root
mkdir:创建目录的命令
参数:
-p:创建嵌套多层目录使用
例如创建/root/t60/nb目录:mkdir -p /root/t60/nb
ln:创建连接文件
参数
-s:创建软链接文件
例如将/etc/httpd/conf/httpd.conf 链接到 /root/t60.conf
软:ln -s /etc/httpd/conf/httpd.conf /root/t60.conf
硬:ln /etc/httpd/conf/httpd.conf /root/t60.conf
cp:复制命令
参数:
-f:覆盖文件不提醒
-i:覆盖文件提醒
-p:保持复制前的文件权限
-r:复制目录时候加上-r
例如复制/etc/httpd/conf/httpd.conf文件到/root/t71.conf
cp /etc/httpd/conf/httpd.conf /root/t71.conf
例如复制/etc/httpd/conf/文件夹到/root/下
cp -r /etc/httpd/conf/ /root/
rm:删除文件或者文件夹
参数:
-f:直接删除不提醒
-i:删除时提醒
-r:删除整个目录树
例如删除 /root/conf/目录
rm -rf /root/conf/
mv:移动文件或目录
效果类似cp多用于给文件改名
例如将t60改成s2t60
mv /root/t60 /root/s2t60
which:查找linux命令文件的所在位置
例如查看ls命令文件在哪
which ls
find:查找文件或目录
参数
-name:按照文件名查找,支持通配符?和*
-size:按照文件大小查找,+号代表大于XXK的文件,-号代表小于XXK的文件
-user:按照文件属主进行查找
-type:按照文件类型进行查找,f普通文件,d目录,b设备文件(硬盘),c字符设备文件(键盘,鼠标)
例如:查找 /etc下文件名为res开头的任意文件
find /etc -name "res."
查找/root目录下的所有文件夹
find /root -type d
多个条件查询时候可以添加-a或-o,-a相当于并且的关系,-o相当于或者的关系
查找出/root目录下所有大于1024k并且文件名为vm开头的所有文件
find /root -size +1024k -a -name "vm."
cat:显示并连接文件的内容
例如查看网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-eth0
more:分页查看命令
功能类似cat
more支持管道符
例如
ls -lh /etc/*.conf | more
head和tail查看文件开头和结尾
参数:
-n:查看几行
例如查看head -4 /etc/passwd文件前四行的命令。
-f:配合tail使用动态跟踪文件结尾
tail -f /var/log/messages
wc:统计文件内容中的单词量,行数等信息。
参数:
-c:文件内容的字节数
-l:统计文件的行数
-w:统计内容的单词数
例如:查询/etc/passwd的行数wc -l /etc/passwd
可以与其他命令配合使用
例如查看/etc下有多少个.conf文件:find /etc -name "*.conf" | wc -l
如果不输入参数,则按照-c-l-w的顺序自动排列。
grep:查找或过滤文件内容
参数:
-i:查找时忽略大小写
-v:反向查找
代表开头:a就代表a开头
\(代表结尾:a\)代表以a结尾
^\(代表空行
例如查找/etc/passwd文件中包含root字符串的行
grep "ftp" /etc/passwd
例如查找出/etc/httpd/conf/httpd.conf文件中除了#开头的有效行
grep -v "^#" /etc/httpd/conf/httpd.conf | grep -v "^\)"
gzip,gunzip:压缩和解压缩
压缩t60.conf
gzip /root/t60.conf
解压
gzip -d /root/t60.conf.gz或者
gunzip /root/t60.conf.gz
tar:归档和释放命令
参数:
-c:创建.tar各位文件包
-x:解开.tar格式的包文件
-C:解压缩时指定释放的目标文件夹
-f:显示归档文件
-j:调用bzip2程序进行压缩或者解压缩
-z:调用gzip程序进行压缩或者解压缩
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对路径
-t:列表查看包内的文件
-v:打包时输出详细信息
打包文件/root/t60文件与/root/s2t60,并且使用bzip2压缩,得到一个t60.tar.bz2的包
tar jcvf(tar命令的参数可以不加“-”) t60.tar.bz2 /root/t60 /root/s2t60
如果想使用gzip压缩只需要将参数jcvf改成zcvf即可,记得文件后缀改成.tar.gz
解包文件
tar jxf(到底是jxf还是zxf看打包后缀格式,.tar.bz2就使用jxf。.tar.gz就使用zxf) /root/t60.tar.bz2(此命令将包解压到当前目录,如果需要指定目录需要加-C)
将t60.tar.bz2解压缩到/root目录
tar jxf /root/t60.tar.bz2 -C /root/
在vi编辑器中的常用命令
按i进入输入模式,按esc回到命令模式,按:进入末行模式,按esc回到命令模式
删除:
命令模式按x或者DEL可以删除光标所在字符
命令模式按dd删除光标所在行,如入Xdd表示删除当前所在行以后的X行数据
命令模式d^和d$分别表示删除光标前到行首的数据和删除光标后到行尾的数据。
复制:
命令模式按yy复制当前行的数据
命令模式按Xyy复制当前所在行以后的X行数据
黏贴:
命令模式按p黏贴复制的内容
查找数据:
在命令模式中按"/"表示开始查找光标以后的数据,按"?"表示查找光标以前的数据
例如查找文件中光标以后的set字符,在命令模式下/set回车。
查询结束后可以在命令行模式按n向下查找或者按N向上查找
替换数据:
在末行模式中使用sub命令进行查找切替换
语法":[查找范围(如果输入%代表全文替换,如果输入X,Y表示替换X到Y行的数据)] sub /就内容/新内容/g(/g代表全部替换,不打/g只替换每行的第一个符合条件的数据)"
例如替换文本中所有set成t60
:% sub /set/t60/g
分屏显示:
末行模式:SP即可分屏显示,使用ctrl+w+上和ctrl+w+下用来切换分屏
分屏打开多个文件进行编辑:sp 文件名字。
撤销:
命令模式按u撤销一步,U全部撤销
保存退出:
命令模式下按ZZ保存退出编辑
另存为:
在末行模式下输入":w 另存的文件路径"
不保存强制退出:
末行模式输入":q!"
mount:挂载设备的命令
例如:使用CD-ROM光驱
先创建一个目录用于挂载光驱
mkdir -p /media/cdrom
然后将CD-ROM挂载到这个目录下
mount /dev/cdrom /media/cdrom
卸载光驱
umount /media/cdrom
rpm:安装apm包的命令
-q:查看软件包是否被安装
-qa:显示当前系统中所有RPM安装的软件
例如显示当前所有rpm包的软件:rpm -qa
例如显示一共安装了多少个rpm软件:rpm -qa | wc -l
查看是否安装了某款软件,例如查看是否安装了lynx软件:rpm -q lynx
已安装的软件包中查询匹配软件信息,例如安装了哪些与samba软件相关的包:
rpm -qa | grep -i samba
-qi:查询指定软件的详细信息和描述
例如查看elinks软件的详细信息:rpm -qi elinks
-ql:查看某软件的所有相关目录和文件清单
例如查看dhcp都有哪些文件夹或者文件与之相关:rpm -ql dhcp
-qf:查看某个文件或者命令是由哪个软件安装的
例如查看vim是由什么软件安装的:rpm -qf /usr/bin/vim
-qpi:查看软件包的详细信息(安装前):rpm -qpi ethtool-6-4.e15.i386.rpm
-qpl:查看软件包即将安装到哪些目录:rpm -qpl ethtool-6-4.e15.i386.rpm
-i:为当前系统安装一个rpm软件包
-e:卸载指定名称的软件包
-U:更新软件包,如果没有安装功能等同与-i
-F:辅助选项,检查并且更新某个软件包,如果软件没有被安装则放弃
--force:强制替换现有软件,例如低版本替换高版本时使用。
-h:安装过程中,以###表示安装进度
-v:显示安装过程详细信息
例如安装软件:rpm -ivh /软件包所在位置
--rebuilddb:重建rpm信息库,用于软件的修复
例如:rpm --rebuilddb
--import:用于导入厂商密钥
例如:rpm --import /密钥位置
编译安装
过程解压缩,配置,编译,安装
useradd:添加,删除,修改用户信息
一般添加账户不需要加选项,例如添加zs:useradd zs回车
参数:
-u:指定用户的UID,不能重复
-d:指定家目录
-e:指定账户过期时间
-g:指定用户的基本组名
-G:指定用户的附加组名
-M:不建立宿主目录
-s:指定用户的登录shell
例如创建zs账户,并且属于root组的权限
useradd -d /zs -g root zs
例如创建一个FTP的专用ls用户,10天后过期,并且禁止登录到shell
useradd -e 2013-3-31 -s /sbin/nologin ls
passwd:设置用户密码
管理员可以设定别人的密码,普通账户只能设置自己的密码
参数:
-d:清空指定用户的密码,仅使用用户名即可登录系统
-l:锁定用户账户
-M:不为用户建立家目录
-S:查看用户账户的状态(是否被锁定)
-u:解锁用户帐户
例如将zs账户锁定:passwd -l zs
查看zs账户状态:passwd -S zs
解锁zs账户:passwd -u zs
usermod:修改已经存在的账户的属性
-u:修改用户的UID号
-d:修改用户的家目录
-e:修改用户的账户过期时间
-g:修改用户的基本组
-G:修改用户的附加组
-s:指定用户的登录shell
-l:更改用户帐号的登录名称
-L:锁定账户
-U:解锁账户
用法和useradd与passwd类似
userdel:删除账户
-r:删除账户的同时删除宿主目录
例如:userdel -r zs
groupadd:创建组帐号
例如创建组T60:groupadd t60
gpasswd:添加、设置、删除组内成员
例如将zs加入到t60组中:gpasswd -a zs t60
groups:查看账户所属哪些组
groups zs
再来将zs踢出t60组:apasswd -d t60
groups:查看账户所属哪些组
groups zs
groupdel:删除组
例如删除T60组;groupdel t60
groups:查看账户所属哪些组
groups root
id:查看账户的uid和gid,类似whoami
id root
finger:查看账户的登录属性
finger root
w:查看当前主机登录情况
chmod:修改目录和文件的权限
格式:
chmod ugoa +-= rwx 文件或目录
ugoa:u代表属主,g代表数组,o代表属辅,a代表所有
+-=:+代表添加权限,-代表删除权限,=代表强制刷新权限
rwx:r代表读取(读取文件或者目录内容),w代表写入(修改文件),x代表执行(对于目录来讲是否可以访问该目录)
例如
去除属组的写入权限:chmod g-w /root
添加数主和属组的执行权限:chmod ug+x /root
去除所有用户和组的执行权限:chmod a-x /root
所有人完全控制:chmod a+rwx /root
chmod nnn 文件或者目录
n:用8进制数表示,7代表rwx,6代表rw-,5代表r-x,4代表r--,3代表-wx,2代表-w-,1代表--x。第一个n代表属主,第二个代表属组,第三个代表属辅。
例如
将权限修改成-rw-r--r--:chmod 644 /root
将权限修改成-rwxrw-rw-:chmod 766 /root
修改所有人完全控制:chmod 777 /root
参数-R,递归方式修改子目录的文件权限
例如修改/VAR/FTP/PUB所有权限为764
chmod -R 764 /VAR/FTP/PUB
chown:修改文件的属主和属组,类似所有权
格式:chown 属主:属组 文件
例如将/home/zs文件的属主更改为root
chown root /home/zs
如果需要更改属主和属组
chown root:root /home/zs