Linux系统学习笔记之 1 基础命令

时间:2022-05-28 11:13:00
翻看日记,看到以前自己学习Linux是的笔记来了,温故而知新乎。
文件命名规则:
1、除了/之外,所有的字符都合法.
2、有些字符最好不要用,如空格符、制表符、退格符、和@ # & ( ) - 等。
2、避免使用.作为普通文件的第一个字符。(以点开头的是隐藏文件)
4、大小写敏感。
命令格式:
命令格式:命令 -选项 参数
例:ls -la /etc
说明:1、当有多个选项时,可以写在一起。
      2、两个特殊的目录,.和.. ,分别代表当前目录和当前目录的父目录。
文件处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-lad] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-i 显示i节点
[root@bogon test]# ls -l
总计 40
drwx------ 2 root root 16384 03-09 17:37 lost+found
drwxr-xr-x 2 root root  4096 03-31 10:51 test1
drwxr-xr-x 2 root root  4096 03-31 10:51 test2
-rw-r--r-- 1 root root     0 03-31 10:52 test.sql
-rw-r--r-- 1 root root     0 03-31 10:52 test.txt
[root@bogon test]# 
[root@bogon test]# ls -a
.  ..  lost+found  test1  test2  test.sql  test.txt
[root@bogon test]# 
[root@bogon test]# ls -d
.
[root@bogon test]# 
[root@bogon test]# ls -al
总计 52
drwxr-xr-x  5 root root  4096 03-31 10:52 .
drwxr-xr-x 25 root root  4096 03-31 10:17 ..
drwx------  2 root root 16384 03-09 17:37 lost+found
drwxr-xr-x  2 root root  4096 03-31 10:51 test1
drwxr-xr-x  2 root root  4096 03-31 10:51 test2
-rw-r--r--  1 root root     0 03-31 10:52 test.sql
-rw-r--r--  1 root root     0 03-31 10:52 test.txt
[root@bogon test]# 
------------------------------------------------------------
文件处理命令:cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
功能描述:切换目录
语法:cd [目录]
例:
[root@bogon test]# cd /test
[root@bogon test]# cd ..
[root@bogon /]# 
[root@bogon test]# cd ..
[root@bogon /]# 
[root@bogon test1]# cd ../../
-------------------------------------------------------
文件处理命令:pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述:显示当前所有目录
语法:pwd
例子:
[root@bogon test]# pwd
/test
[root@bogon test]# 
----------------------------------------------------------------------------
文件处理命令:touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件
语法:touch 要创建的文件名
例:
[root@bogon test]# touch nwefile
[root@bogon test]# ls
lost+found  nwefile  test1  test2  test.sql  test.txt
[root@bogon test]# 
--------------------------------------------------------------------------
文件处理命令:mkdir
命令名称:mkdir
命令英文原意:make diretcory
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建空文件
语法:mkdir 要创建的目录名
例:
[root@bogon test]# mkdir nwedir
[root@bogon test]# ls
lost+found  nwefile newdir  test1  test2  test.sql  test.txt
[root@bogon test]# 
-------------------------------------------------------------------------------
文件处理命令:cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或则目录
语法:cp -选项[R] 源文件或目录 目的文件或目录
说明:复制目录时要加上-R强制复制所有
-------------------------------------------------------------------------
文件处理命令:mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
功能描述:移动文件、目录、更名
语法:mv 源文件或目录 目的文件或目录
-----------------------------------------------------------------------
文件处理命令:rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件
语法:rm -选项[rf] [文件或目录]
说明:-r 删除目录
      -f 不显示再次确定删除操作
例:
[root@bogon test1]# rm test.sql 
rm:是否删除 一般空文件 “test.sql”? n
[root@bogon test1]# ls
child  test2  test.ini  test.sql
[root@bogon test1]# 
[root@bogon test1]# ls
child  test2  test.ini  test.sql
[root@bogon test1]# rm -f test.sql
[root@bogon test1]# ls
child  test2  test.ini
[root@bogon test1]# 
--------------------------------------------------------------------
文件处理命令:cat
命令名称:cat
命令英文原意:concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:显示文件内容
语法:cat [文件名]
例:
[root@bogon etc]# cat yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[root@bogon etc]# 
---------------------------------------------------------------------
文件处理命令:more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件内容
语法:more [文件名]
说明:空格或f  显示下一页
      enter    显示下一行
      q或Q     退出
例:
[root@bogon etc]# more services 
# /etc/services:
# $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $
#
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
# are included, only the more common ones.
--More--(10%)
-----------------------------------------------------------------------
文件处理命令:head
命令名称:head
命令所在路径:/bin/head
执行权限:All User
功能描述:查看文件的前几行
语法:head -num [文件名]
说明:-num  显示文件的前几行,行数
例:
[root@bogon etc]# head -5 services 
# /etc/services:
# $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $
#
# Network services, Internet style
#
[root@bogon etc]# 
---------------------------------------------------------------------
文件处理命令:tail
命令名称:tail
命令所在路径:/bin/tail
执行权限:All User
功能描述:查看文件的后几行
语法:tail -num [文件名]
说明:-num   显示文件的后num行
      -f     动态显示文件内容,如果这个文件有其他用户在修改,则会立马显示出来
例:
[root@bogon etc]# tail -5 services 
com-bardac-dw   48556/tcp                       # com-bardac-dw
com-bardac-dw   48556/udp                       # com-bardac-dw
iqobject        48619/tcp                       # iqobject
iqobject        48619/udp                       # iqobject
# Local services
[root@bogon etc]# 
-----------------------------------------------------------------------------
文件处理命令:ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
功能描述:产生链接文件
语法:ln -s [源文件] [目标文件]
说明:-s 加上-s创建软链接文件,相当于windows的快捷方式。软链接i节点不同,源文件删除,通过软链接查看文件,文件不存在。
不加-s创建硬链接文件,两个文件同步更新。硬链接i节点不同,源文件删除,查看硬链接照样可以。
-----------------------------------------------------------------------------
权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:All User
功能描述:改变文件或者目录权限
语法:chmod [{ugo}{+-=}{rwx}] [文件或目录]
    [mode=421] [文件或目录]
例:
chmod g+w file1   赋予文件file1所属组写权限
chmod 777 dir1    设定目录dir1为所有用户具有全部权限
文件目录权限总结:
_____________________________________________________________
代表字符 |  权限   |    对文件的含义  |   对目录的含义
_____________________________________________________________
   r     | 读权限  |  可查看文件内容  | 可列出目录的内容
_____________________________________________________________
   w     | 写权限  |  可修改文件内容  | 可在目录中创建删除文件
_____________________________________________________________
   x     | 执行权限|  可以执行文件    | 可以进入目录
_____________________________________________________________
----------------------------------------------------------------------------------
权限管理命令:chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:All User
功能描述:改变文件或目录的所有者cd sch    
语法:chown [用户] [文件或者目录]
例:
chown nobody file1  改变文件file1的所有者为nobody
------------------------------------------------------------------------------
权限管理命令:chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:All User
功能描述:改变文件或目录的所属组
语法:chgrp [用户组] [文件或目录]
例:
chgrp admin file1   改变文件file1的所属组为admin  
[root@bogon admin]# ls -l
总计 12
drwxr--r-- 2 admin admin 4096 03-31 14:08 newdir
-rw-rw-r-- 1 admin admin    0 03-31 14:16 newfile
[root@bogon admin]# chgrp root newfile 
[root@bogon admin]# ls -l
总计 12
drwxr--r-- 2 admin admin 4096 03-31 14:08 newdir
-rw-rw-r-- 1 admin root     0 03-31 14:16 newfile
[root@bogon admin]#
---------------------------------------------------------------------
权限管理命令:umask
命令名称:umask
命令所在路径:/bin/umask
执行权限:All User
功能描述:显示、设置文件的缺省权限
语法:umask [-S]
说明: -S 以rwx形式显示新建文件或目录缺省权限
例:umask 
    umask -S
[root@bogon admin]# umask
0022
[root@bogon admin]# umask -S
u=rwx,g=rx,o=rx
[root@bogon admin]# 
0022是怎么算出来的?
最大权限
777->111  111   111
     rwx  rwx   rwx
u=rwx,g=r x,o=r x
  111   101   101
   7     5     5
777-755=22
----------------------------------------------------------------------------
文件搜索命令:which
命令名称:whick
命令所在路径:/usr/bin/which
执行权限:All User
功能描述:显示系统命令所在目录
语法:which [命令名称]
例:
[admin@bogon ~]$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
        /usr/bin/which
[admin@bogon ~]$ 
[admin@bogon ~]$ which ls
alias ls='ls --color=tty'
        /bin/ls
[admin@bogon ~]$ 
[admin@bogon ~]$ which rm
/bin/rm
[admin@bogon ~]$ 
------------------------------------------------------------------------------------
文件搜索命令:find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:All User
功能描述:查找文件或目录
语法:find [搜索路径] [搜索关键字]
例:
find /etc -name init   在目录/etc中查找文件init
find / -size +204800       在根目录下查找大于100M的文件
find / -user admin         在根目录下查找所有者为admin的文件
find /etc -ctime -1        在/etc下查找24小时内被修改过属性的文件盒目录
find /etc -size +163840 -a -size -204800  在/etc下查找大于80M小于100M的文件
find /etc -name inittable -exec ls -l {}\;  在/etc下查找inittable文件并显示其详细信息
[root@bogon test]# find -name init
./etc/sysconfig/init
[root@bogon test]# 
[root@bogon test]# find etc -size +20480
etc/selinux/targeted/modules/active/base.linked
etc/selinux/targeted/modules/active/base.pp
[root@bogon test]# 
[root@bogon test]# find / -user admin
/home/admin
/home/admin/.kde
/home/admin/.kde/Autostart
/home/admin/.kde/Autostart/.directory
/home/admin/newfile
[root@bogon test]# 
---------------------------------------------------------------------------
文件搜索命令:locate
命令名称:locate
命令英文原意:list files in database
命令所在路径:/usr/bin/locate
执行权限:All User
功能描述:寻找文件或目录    搜索整个系统目录文件的数据库配合updatedb用
语法:locate [搜索关键字]  
例:locate file  列出所有跟file相关的文件
--------------------------------------------------------------------------------
文件搜索命令:updatedb
命令名称:updatedb
命令英文原意:update the slocate database
命令所在路径:/usr/bin/updatedb
执行权限:root
功能描述:建立整个系统目录文件的数据库
语法:updatedb
-------------------------------------------------------------------------------
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:All User
功能描述:在文件中搜索字符串匹配的行并输出
语法:grep [指定字符] [源文件]
例:grep ftp /etc/service    在文件/etc/service中搜索ftp字符串,并列出行
------------------------------------------------------------------------------
帮助命令:man 
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:All User
功能描述:获得帮助信息
语法:man [命令或配置文件]
---------------------------------------------------------------------------
帮助命令:info
命令名称:info
命令英文原意:infromation
命令所在路径:/usr/bin/info
执行权限:All User
功能描述:获得详细帮助信息
语法:info [任何关键字]
---------------------------------------------------------------------------
帮助命令:whatis
命令名称:whatis
命令英文原意:
命令所在路径:/usr/bin/whatis
      /usr/bin/apropos
执行权限:All User
功能描述:获得简单的帮助信息
语法:whatis [任何关键字]
      whatis apropos [任何关键字]
例:
whatis ls
apropos fstab   相当于man -k
makewhatis  建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是             whatis database没有建立
--------------------------------------------------------------------------------
压缩命令:gzip
命令名称:gzip
命令英文原意:gun zip
命令所在路径:/bin/gzip
执行权限:All User
功能描述:压缩文件
语法:gzip 选项[fv] [文件]
压缩后文件格式:.gz
[root@bogon test1]# ls
child  test2  test.ini
[root@bogon test1]# gzip test.ini
[root@bogon test1]# ls -l
总计 24
drwxr-xr-x 2 root root 4096 03-31 11:06 child
drwxr-xr-x 2 root root 4096 03-31 11:29 test2
-rw-r--r-- 1 root root   29 03-31 10:52 test.ini.gz
[root@bogon test1]# 
----------------------------------------------------------------------------------
解压命令:gunzip
命令名称:gunzip
命令英文原意:gun unzip
命令所在路径:/bin/gunzip
执行权限:All User
功能描述:解压.gz的压缩文件
语法:gunzip 选项 [压缩文件]
[root@bogon test1]# ls
child  test2  test.ini.gz
[root@bogon test1]# gunzip test.ini.gz 
[root@bogon test1]# ls
child  test2  test.ini
[root@bogon test1]# 
---------------------------------------------------------------------------------
压缩命令:tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
功能描述:打包目录
语法:tar 选项[cvf] [目录]
说明:-c 产生.tar打包文件
      -v 显示详细信息
      -f 指定压缩后的文件名
      -z 打包同时压缩
压缩后的文件格式:.tar.gz
例: tar -czvf dir.tar.gz dir  将目录dir压缩成一个打包并压缩文件
[root@bogon test]# ls 
etc  lost+found  newfile.gz  newfile.hard  test1  test3  test.txt.gz
[root@bogon test]# tar -czvf test3.tar.gz test3
test3/
test3/123
test3/t.ini.gz
[root@bogon test]# ls
etc  lost+found  newfile.gz  newfile.hard  test1  test3  test3.tar.gz  test.txt.gz
[root@bogon test]# 
-----------------------------------------------------------------------------------
解压命令:tar
-x 解报.tar文件
-v 显示详细信息
-f 指定压缩文件
-z 解压缩
例:tar -zxvf dir.tar.gz
[root@bogon test]# ls
etc  lost+found  newfile.gz  newfile.hard  test1  test3.tar.gz  test.txt.gz
[root@bogon test]# tar -zxvf test3.tar.gz
test3/
test3/123
test3/t.ini.gz
[root@bogon test]# ls
etc  lost+found  newfile.gz  newfile.hard  test1  test3  test3.tar.gz  test.txt.gz
[root@bogon test]# 
-----------------------------------------------------------------------------------
压缩解压命令:zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:All User
功能描述:压缩文件或目录
语法:zip 选项[-r] [压缩后的文件名称] [文件或目录]
-r 压缩目录
例:
zip services.zip /etc/services   压缩文件
zip -r test.zip /test            压缩目录
-------------------------------------------------------------------------------
压缩解压命令:unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:All User
功能描述:解压.zip的压缩文件
语法:unzip [压缩文件]
例:
unzip test.zip
----------------------------------------------------------------------------------
压缩解压命令:bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:All User
功能描述:压缩文件
语法:bzip2 选项[-k] [文件]
-k 产生压缩文件后保留原文件
压缩后的文件格式:.bz2
例:
bzip2 -k file1
---------------------------------------------------------------------------------
压缩解压命令:bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:All User
功能描述:解压缩
语法:bunzip2 选项[-k] [压缩文件]
-k 解压缩后保留原文件
例:
bunzip2 -k file.bz2
------------------------------------------------------------------------------
网络通信指令:write
命令名称:write
命令所在路径:/usr/bin/write
执行权限:All User
功能描述:向另外一个用户发信息,以ctrl+D作为结束
语法:write <用户名>
例:
write admin
-------------------------------------------------------------------------------
网络通信指令:wall
命令名称:wall
命令所在路径:/usr/bin/wall
执行权限:All User
功能描述:向所有用户广告信息
语法:wall [message] [文件名]
例:
wall happy new year
-------------------------------------------------------------------------------
网络通信指令:ping
命令名称:ping
命令所在路径:/usr/sbin/ping
执行权限:root
功能描述:测试网络连通性
语法:ping 选项 IP地址
例:ping 192.168.1.1
------------------------------------------------------------------
网络通信指令:ifconfig
命令名称:ipconfig
命令所在路径:/usr/sbin/ifconfig
执行权限:root
功能描述:查看网络设置信息
语法:ifconfig 选项[-a] [网卡设备标识]
-a 显示所有网卡信息
例: ifconfig -a
--------------------------------------------------------------------
系统关机命令:shutdown
命令名称:shutdown
命令所在路径:/usr/sbin/shutdown
执行权限:root
功能描述:关机
语法:shutdown
例:
shutdown -h now
---------------------------------------------------------------------
系统关机命令:reboot
命令名称:reboot
命令所在路径:/usr/bin/reboot
执行权限:root
功能描述:重启系统
语法:reboot
例:reboot
-----------------------------------------------------------------
sheel 应用技巧
1、bash应用技巧
命令补全:命令补全允许用户输入文件名起始的若干个字母后,按tab键补全文件名
命令历史:命令历史允许用户浏览先前输入的命令并重新调用它们,用history命令可以显示命令列表,按方向键上下可以查找以前执行过的命令
2、命令别名:
范例:alias copy=cp
      alias xrm=”rm -r“
查看别名信息:alias
删除别名:unalias copy
3、输入/输出重定向
同标准I/O一样,shell对于每一个进程预先定义3个文件描述字(0,1,2)。分别对应于:
0(STDIN) 标准输入
1(STAOUT) 标准输出
2(STDERR) 标准错误输出
>或>> 输出重定向
范例:ls -l /tmp > /tmp.msg
      date >> /tmp.msg
< 输入重定向
范例:wall < /etc/motd
2>错误输出重定向
范例:cp -R /usr/backup/usr.bak 2> /bak.error
4、管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入。
使用方法:命令1|命令2|命令3|命令4.....|命令n
范例:
ls -l /etc | more 分页查看ls的结果
ls -l /etc | grep init 在ls的结果中查看找包含init的
ls -l /etc | grep init | wc -l  统计ls的结果中包含init的行数
5、命令连接符
;
用;间隔的各命令按顺序依次执行
&&
前后命令的执行存在逻辑关系,只有&&前面的命令执行成功后,它后面的命令才被执行。
||
前后命令的执行存在逻辑关系,只有||前面的命令执行失败后,它后面的命令才被执行
6、命令替换符
命令替换符:将一个命令的输出作为另一个命令的参数
格式:命令1 `命令2`
范例:ls -l `which touch`  将touch这个命令所在的文件夹里的文件ls出来