linux学习笔记之常用命令

文件命名规则:
1.除/以外,所有的字符都合法
2.有些字符最好不用,如空格符、制表符、退格符和字符@#$&()-等
3.避免使用.作为普通文件名的第一个字符(避免被隐藏)
4.大小写敏感,严格区分大小写

命令格式:命令 -选项 参数
说明:1.当有多个选项时,可以写在一起
2…和…分别代表当前目录和当前目录的父目录(上一级目录)

按键 功能
Ctrl+c 终止指令
Ctrl+d 退出shell
Ctrl+a 光标移至行首
Ctrl+e 光标移至行末

转义符\可保留本意

用户管理 命令
改变用户 su - 用户名
添加用户 useradd 用户名
设置用户密码 passwd 用户名

由命令所在的路径可判断命令的权限:

权限 路径
root /sbin ,/usr/sbin
all user /bin,/usr/bin

文件处理命令

ls
功能:显示目录文件
路径:/bin/ls
语法:ls 选项[-ald] [文件或目录]
  ①-a 显示所有文件,包括隐藏文件(all)
  ②-l 详细信息显示(long)
  例子:drwxr-xr-x 2 root root 4096 12-01 20:52 bin
  第一个字母表示文件类型
  常见文件类型:d 目录directory
         - 二进制文件
         l 软链接文件link

后面代表权限:
  (r-read读、w-write写、x-execute执行)
  rwx      r-x       r-x
  所有者u    所有组g    其他人o
  user、owner   group     other

2-硬链接数

root root
  表示管理者是root,管理组是root

4096表示文件大小(不准确)
  linux一般用数据块大小来做储存文件大小的单位,即数据块是最小储存单位

12-01 20:52表示创建时间或最后修改时间

bin表示文件名
  ③-d 查看目录属性(directory)
  (一般配合l,及-ld连用查看某个目录的属性)

cd
功能:切换目录
路径:shell内置命令
权限:所有用户
语法:cd [目录]
例子:cd / 切换到根目录
cd …回到上一级目录

pwd
功能:显示当前所在的工作目录
路径:/bin/pwd
语法:pwd

touch
功能:创建空文件
路径:/bin/touch
语法:touch [文件名]
例子:touch newfile

mkdir
功能:创建新目录
路径:/bin/mkdir
语法:mkdir [目录名]
例子:mkdir newdir

cp
功能:复制文件或目录
路径:/bin/cp
语法:cp -R [源文件或目录][目的目录]
-R 复制目录
-p 拷贝之后不改变时间值
例子:cp file1 file2 dir1(将文件file1、file2复制到目录dir1)
cp -R dir1 dir2(将目录dir1下的所有文件复制到目录dir2下)

mv
功能:移动文件、更名
路径:/bin/mv
语法:mv [源文件或目录][目的目录]
例子:mv file1 file3(将当前目录下文件file1更名为file3)
mv file2 dir2(将文件file2移动到目录dir2下)
(改名和移动可同时操作,如mv /dir1/file1 /dir2/file2)

rm
功能:删除文件
路径:/bin/rm
语法:rm -r [文件或目录]
-r 删除目录
-f 强制删除(避开询问)
例子:rm file1(删除文件file1)
rm -r dir1(删除目录dir1)

cat
功能:显示文件内容(显示大文件的话不完整)
路径:/bin/cat
语法:cat [文件名]
例子:cat /etc/issue

more
功能:分页显示文件内容(可以完整显示文件)
路径:/bin/more
语法:more [文件名]
(空格)或f 显示下一页
(Enter) 显示下一行
q或Q 退出
例子:more /etc/services

head
功能:查看文件前几行
路径:/bin/head
语法:head -num [文件名]
-num 显示文件的前num行
例子:head -20 etc/services

tail
功能:查看文件后几行
路径;/bin/tail
语法:tail -num [文件名]
-num 显示文件后num行
-f 动态显示文件内容
例子:tail -30 /etc/services

ln
功能:产生链接文件
路径:/bin/ln
语法:ln -s [源文件][目标文件]
-s 创建软链接
例子:ln -s /etc/issue/issue.soft(创建文件/etc/issue的软链接/issue.soft)
   ln /etc/issue/issue.hard(创建文件/etc/issue的硬链接/issue.hard)
   软链接(类似于快捷方式)  lrwxrwxrwx --> (指向源文件)
   10(文件很小)  时间值
   硬链接(cp -p+同步更新) 与源文件有相同的inode
   硬链接不能跨文件系统(不能跨系统文件分区)
   若源文件消失,软链接失效,硬链接不变

权限处理命令

chmod
功能:改变文件或目录权限
路径:/bin/chmod
语法:chmod u + r
       g - w
       o = x
u-所有者 g-所属组 o-其他人
rwx 可写可读可执行
r-4 w-2 x-1(重点掌握)
例如:rwxr-xr--  754
   752  rwxr-x-w-
例子:chmod g+w file1(赋予文件file1所属组写权限)
   chmod 777 dir1(设定目录dir1为所有用户具有全部权限)

//对于权限的理解:
对文件:
r(可以查看文件内容)cat、more、head、tail
w(可以修改文件内容)echo、vi
x(可以执行文件)命令、脚本
对目录:
r(可以列出目录中的内容)ls
w(可以在目录中创建、删除文件)touch、mkdir、rm
x(可以进入目录)cd

chown
功能:改变文件或目录的所有者
路径:/bin/chown
语法:chown [用户][文件或目录]
例子:chown nobody file1(改变文件file1的所有者为nobody)

chgrp
功能:改变文件或目录的所属组
路径:/bin/chgrp
语法:chgrp [用户组][文件或目录]
例子:chgrp adm file1(改变文件file1的所属组为adm)

umask
功能:显示、设置文件的缺省权限
路径:/bin/umask
语法:umask -S
-S 以rwx形式显示新建文件或目录缺省权限
例子:umask
umask -S(直观)
假如umask得到0022
0-特殊权限位
022–用户权限位,权限掩码值
  777 - 022 = 755
755表示权限

改变默认权限:umask 权限掩码值

Linux权限规则:
缺省创建的文件不能授予可执行x权限

文件搜索命令

which
功能:显示系统命令所在目录
路径:/usr/bin/which
语法:which [命令名称]
例子:which ls

find
功能:查找文件或目录
路径:/usr/bin/find
语法:find [搜索路径] [搜寻关键字]
例子:find /etc -name init(在目录/etc中查找文件init)
   //注:* 匹配任意字符 若查找init开头的文件则init*
      ? 匹配单个字符 若查找带有init的七个字母的文件则init???
   
   find / -size +204800(在根目录下查找大于100MB的文件,以数据块为
   单位512字节)
   //注:大于+,小于-

find /home -user samlee(在根目录下查找所有者为sanlee的文件)

find /etc -mmin -120(120分钟以内被修改的文件)
   
    //时间
    1.天 ctime、atime、mtime
    2.分钟 cmin、amin、mmin
    c-change改变,表示文件属性被修改过,所有者、所属组、权限
    a-access访问
    m-modify修改,表示文件内容被修改过
    -之内,+超过
   
    find /etc -size +163840 -a -size -204800(在/etc下查找大于80MB小
    于100MB的文件)
   //连接符 -a and 逻辑与 -o or 逻辑或

find /etc -name inittab -exec ls -l {} ;(在/etc下查找inittab文件并显示
   其详细信息)
   
   find /etc -user samlee -exec rm -rf {} ;(在/etc下查找用户名为samlee
   的文件并删除)
   //连接符 find … -exec 命令 {} ;(若用-ok代替-exec则会询问确认)
   
   find /etc -type l(在/etc下查找软链接文件)
   //f二进制文件、l软链接文件、d目录
   
   find . -inum 16(在当前目录寻找i节点为16的文件)

locate
功能:寻找文件或目录(在updatedb数据库里寻找,速度快)
路径:/usr/bin/locate
语法:locate [搜索关键字]
例子:locate file(列出所有跟file相关的文件)

updatedb
功能:建立整个系统目录文件的数据库
路径:/usr/bin/updatedb
例子:updatedb

grep
功能:在文件中搜寻字符匹配的行并输出
路径:/usr/bin/grep
语法:grep [指定字母][源文件]
例子;grep ftp /etc/services

帮助命令:

man
功能:获取帮助信息(遵循more的指令来换行换页和退出)
路径:/usr/bin/man
语法:man [命令或配置文件]
例子:man ls(查看ls命令的帮助信息)
man services(查看配置文件services的帮助信息)
若命令与配置文件同名则优先查看命令的帮助,通过man 5 […]来查看,即帮助有很多种,第五种为配置文件帮助

info
功能:获取帮助信息(与man功能完全相同,只是呈现方式不同)
路径:/usr/bin/info
语法:info [任何关键字]
例子:info ls(查看ls指令的帮助信息)

whatisapropos
功能:获得索引的简短说明信息
路径:/usr/bin/whatis /usr/bin/apropos
语法:whatis [任何关键字]
apropos [任何关键字]
例子:whatis ls
spropos fstab(相当于man -k)
//注:与locate类似,需要用makewhatis指令建立whatis和apropos搜索使用的数据库(例子:makewhatis)

help
功能:查看shell内置命令的帮助

压缩解压命令:(.gz,.tar.gz,.zip,.bz2)

gzip
功能:压缩文件
路径:/bin/gzip
语法:gzip 选项[文件]
压缩后文件格式:.gz
1.只能压缩文件,不能压缩目录
2.不保留原文件

gunzip
功能:解压缩.gz的压缩文件(同gzip -d)
路径:/bin/gunzip
语法:gunzip 选项[压缩文件]
例子:gunzip file1.gz

tar
功能:打包目录
路径:/bin/tar
压缩语法:tar 选项 [目录]
       -c 产生tar打包文件
       -v 显示详细信息
       -f 指定压缩后的文件名
       -z 打包同时压缩
压缩后文件格式:.tar.gz
例子:tar -zcvf dir.tar.gz dir1(将目录dir1压缩成一个打包并压缩的文件)
注:老系统不支持打包压缩一起进行
解压缩语法:tar 选项 [压缩文件]
        -x 解包.tar文件
        -v 显示详细信息
        -f 指定解压文件
        -z 解压缩
例子:tar -zxvf dir1.tar.gz(将dir1解压到当前目录下)
/*
file指令
功能:判断文件类型
语法:file [文件名]
*/

zip
(默认的win和linux通用格式)
功能:压缩文件或目录(保留原文件)
路径:/usr/bin/zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
     -r 压缩目录
压缩后文件格式:.zip
例子:zip services.zip /etc/services(压缩文件)
zip -r test.zip /test(压缩目录)

unzip
功能:解压.zip的压缩文件
路径:/usr/bin/unzip
语法:unzip [压缩文件]
例子:unzip test.zip(解压文件)

bzip2
功能:压缩文件
路径:/usr/bin/bzip2
语法:bzip2 选项[-k] [文件]
    -k 产生压缩文件后保留文件
压缩后文件格式:.bz2
例子:bzip2 -k file1

bunzip2
功能:解压缩
路径:/usr/bin/bunzip2
语法:bunzip2 选项[-k] [压缩文件]
        -k 解压缩后保留文件
例子:bunzip2 -k file1.bz2

网络通信指令:

write
功能:向另一个用户发信息,以ctrl+D作为结束(实时)
路径:/usr/bin/write
语法:write <用户>
例子:write samlee

wall
功能:向所有用户广播信息
路径:/usr/bin/wall
语法:wall [message] [文件名]
例子:wall Happy new year!

ping
功能:测试网络连通性
路径:/usr/sbin/ping
语法:ping 选项 IP地址
      -c [num] pingnum次(类似windows的ping)
      -s [num] 用num大小的数据包来测试(num不能大于65507)
例子:ping 192.168.1.1
*用ifconfig可查看本机IP地址*

ifconfig
功能:查看网络设置信息
路径:/usr/sbin/ifconfig
语法:ifconfig 选项[-a] [网卡设备标识]
        -a 显示所有网卡信息
例子:ifconfig -a
   ifconfig eth0(查看关键网卡信息)
ifconfig eth0 192.168.9.6(临时改变IP地址为192.168.9.6,若不写入配置文件,则仅在此会话中生效)

系统关机命令:

shutdown
功能:关机
路径:/usr/sbin/shutdown
语法:shutdown
例子:shutdown -h now(马上关机)

reboot
功能:重启系统
路径:/usr/sbin/reboot
语法:reboot
例子:reboot

shell应用技巧:

小技巧:

1.命令补全
输入文件名起始的若干个字母后,按补齐文件名
2.清空屏幕
clear指令,或ctrl+L
3.快速删除
ctrl+U可以快速删除当前命令行光标前的所有内容
4.命令历史
history指令:列出敲过的所有指令
上下箭头键可以查找以前执行过的命令

大技巧:

1.命令别名
定义别名例子:alias copy=cp
       alisa xrm=“rm -f”(带选项时要加双引号)
查看别名信息:alias
删除别名:unalias copy

2.输入/输出重定向
shell对于每一个进程预先定义三个文件描述字(0,1,2)
0(STDIN) 标准输入
1(STDOUT) 标准输出
2(STDERR) 标准错误输出

>或>> 输出重定向
例子:ls -l /tmp > /tmp.msg(tmp的内容输出到文件中,并替代原内容)
   date >> /tmp.msg(data输出到文件内,并追加在原内容后面)

< 输入重定向
例子:wall < /etc/motd(把文件作为输入端)

2> 错误输出重定向
例子:cp -R /usr /backup/usr.bak 2> /bak.error(错误信息输出到文件/bak.error内)

3.管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入。
使用方法:命令1|命令2|命令3…|命令n
例子:ls -l /etc | more
  ls -l /etc | grep init

4.命令连接符
;  用;间隔的各命令按顺序依次执行
&& 前后命令的执行存在逻辑与关系,前面的命令执行成功后,它后面的命令才被执行。
||  前后命令的执行存在逻辑或关系,若前面的命令执行成功,则后面不执行;若前面的命令执行失败,则后面才会执行。

5.命令替换符
命令替换:将一个命令的输出作为另一个命令的参数
格式:命令1 `命令2`(注意不是单引号,而是键盘按键1旁边的替换符)
例子:ls -l `which touch`

你可能感兴趣的:(操作系统)