linux-基本常用命令

查询命令具体介绍:man/info 命令

计算器:bc  进行加减乘除操作

时间:date  cal

Tab键:补全命令或名称

Ctrl+C:中断

Ctrl+d:结束,退出 exit

开关机:

将数据同步写入硬盘中的指令: sync

惯用的关机指令: shutdown

重新开机,关机: reboot, halt, poweroff

查看某个用户下进程状态:ps -ef | grep aiapp

在root用户下操作:

新建用户:useradd

useradd -d /yaya/  suavity

useradd -d /home/wenya wenya

passwd [-d不需要密码]suavity

pwd: yaya

删除用户:userdel

userdel suavity

新建组:groupadd

groupadd yaya

删除组: groupdel

groupdel yaya

修改用户信息:usermod

将suavity用户下的组改为yaya:

usermod -g yaya suavity

suavity用户主组是suavity,附加组是yaya,root

usermod -g suavity -G root,yaya suavity

修改组信息:groupmod

将yaya组改名为dj: groupmod -n dj yaya

当前用户下操作:

查看当前用户所属的所有组:groups

切换用户组:newgrp

将当前用户切换到root用户组:newgrp root

赋权给普通用户 root权限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root    ALL=(ALL)   ALL

suavity ALL=(ALL)   ALL

属性、权限、

-rw-r--r--  1    root   root  203373 12月 11 2014 filename

[ 属性 ]    [连结][拥有者] [群组]  [档案容量] [ 修改日期 ]     [ 檔名 ]

属性: 读[r]read-4 写[w]write-2 执行[x]execute-1

-  rw-   r--  r--

1. - :[文件类型]

当为[ d ]则是目录,例如上表的第 11 行;

当为[ - ]则是档案,例如上表的第 5 行;

若是[ l ]则表示为连结档(link file);

若是[ b ]则表示为装置文件里面的可供储存的接口设备;

若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

2. rw- :[文件所属者对该文件的权限]

3. r-- :[文件所属组对该文件的权限]

4. r-- :[其他用户对该文件的权限]

赋权:user,group,others

对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。

chgrp    : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt

chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt

同时改变拥有者和所属群组 chown suavity:yaya dj.txt

chmod :改变档案的属性、SUID【4r+2w+1x=7

a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。

b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。

c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。

chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。

umask: 查看预设权限 umask -S

umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】

查看磁盘空间:du --help  df --help

df -h /etc

du -sm /etc/*

文件操作:

目录和文件相关命令:echo 打印/显示  echo $变量名

1. 转目录:cd ..    到根目录:cd  ~   cd .   cd  -

2. 显示当前目录: pwd [-P]

3. 创建目录: mkdir [-m 赋权 711 ] tmp  mkdir [-p 递归创建目录] tmp1/tmp2/tmp3

4. 删除目录/文件:

删空目录:rmdir [-p 递归删空目录] tmp1/tmp2/tmp3

删目录下的所有内容: rm -rf tmpFile

5. 显示当前目录下的文件:ls -lrt

6. 复制:cp

复制目录:cp -a srcD/ destD/

复制文件:cp -i src dest

7.移动:mv

将src1,src2移动到dest目录下:mv src1 src2... dest

更名/移动:mv src1 dest

8.更名:rename srcName destName

9.获取目录名/文件名:dirname [path]/basename [path]

操作文件:

cat: 由第一行开始显示档案内容,显示所有,大文件最好不要用这个命令  cat [-AnT] fileName

tac :  从最后一行开始显示,可以看出 tac 是 cat 的倒着写 tac fileName

nl : 显示的时候,顺道输出行号  nl [-bnw] fileName  eg: nl -b [t/a] fileName

more:  一页一页的显示档案内容 more fileName

空格键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』; n向下继续搜索

:f :立刻显示出文件名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该档案内容。

less 与 more 类似,但是比 more 更好的是,可以往前翻页 less fileName

空格键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字符串 :向下搜寻『字符串』的功能;

?字符串 :向上搜寻『字符串』的功能;

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!) 向上搜寻

q :离开 less 这个程序;

head : 只看头几行  head -n 100 filename(显示100行,文件终止)

tail : 只看尾巴几行:

tail-n 100 filename(显示100行,文件终止)

tail -100f filename(显示100行,文件不终止,实时跟日志)

head和tail结合使用: head -n 20 filename | tail -n 10 (显示第11行到20行)

od: 以二进制的方式读取档案内容 od -t c 二进制文件或数据文件

touch : 建立文件 touch filename

目录与文件权限操作:

赋权:user,group,others

对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。

chgrp    : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt

chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt

同时改变拥有者和所属群组 chown suavity:yaya dj.txt

chmod :改变档案的属性、SUID【4r+2w+1x=7

a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。

b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。

c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。

chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。

umask: 查看预设权限 umask -S

umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】

指定某文件不可删除:chattr +i /home/wenya/suavity/yeah.txt  去掉该权限:chattr -i /home/wenya/suavity/yeah.txt

查看文件类型:file [fileName]

查看文件属性:lsattr [pathName]

搜索文件:

搜索可执行的命令所在路径:which 命令[-a查出所有匹配的文件名,否则只显示第一个] (一般是bin目录下的可执行命令)

搜索【文件名/目录名】完整的文件或目录所在路径:

whereis [-bmsu] 文件或目录名 【完整的文件名或目录(可忽略文件名后缀)】

搜索【文件名/目录名】关键字所属的文件或目录所在路径:

locate 模糊的文件或目录名 【匹配文件名】【eg: locate passw 会展示所有包含passw关键字的文件和目录】

搜索:find [路径] [选项] [关键字/参数]

find /home -user aiapp :搜索/home 下 属于aiapp用户的所有文件

find / -nouser :搜索不属于任何用户的文件

find / -name passwd:搜索系统中文件或目录名为passwd的所有路径

find / -size +1000k:搜索系统中文件大小大于1MB的所有文件【find / -size +8000k -exec ls -l {} \;】

find / -type f -perm +7000 -print :搜索有sgid/suid/sbit属性的所有文件


压缩指令:compress/bzip2/bzcat/gzip/zcat/tar

compress:[*.Z]

压缩:compress [-c] /home/fileName [ > /aiapp/otherName.Z]

解压:compress -d fileName.Z

bzip2/bzcat:[*.bz2]

压缩:bzip2 [-9] [-c] /home/fileName [ > /aiapp/otherName.bz2]    bizp -z  fileName

解压:bzip2 -d otherName.bz2   bzcat otherName.bz2

gzip/zcat:  [*.gz,*.Z]

压缩:gzip [-9] [-c]  /home/fileName [ > /aiapp/otherName.gz]

解压:gzip -d otherName.gz   zcat otherName.gz

tar:[*.tar] [*.tar.gz]

压缩:tar -cvf dest/filename.tar etc/         不压缩某个目录或文件:tar--exclude etc/passwd-cvf  dest/filename.tar etc/

tar -zcvf dest/filename.tar.gz etc/

tar -jcvf dest/filename.bz2 etc/

解压:tar -xvf   dest/filename.tar           解开某个目录: tar -xvf   dest/filename.tar etc/passwd

tar -zxvf dest/filename.tar.gz

tar -jxvf  dest/filename.bz2

查看:tar -tvf dest/filename.tar

tar ztvf dest/filename.tar.gz

tar jtvf  dest/filename.bz2

其他命令:

别名:alias [command] 取消:unalias [command]

查看历史指令: history

查看当前用户:whoami / who am i

查看命令类型:type 命令

设置变量:  myname="wenya"           查看:echo $myname

通过键盘输入: read 变量名

[wenya@vm-test-014 ~ 15:58 #19]$read test

this is a test.

[wenya@vm-test-014 ~ 16:01 #20]$echo $test

执行指令(非单引号):`command`    eg:ls -l `locate crontab`

查看环境变量: env

查看所有变量: set/declare

查看PS1特殊符号意义: man bash   然后查找关键字: /PS1

设定PS1:  PS1='[\u@\H \w \A #\#]\$'

[wenya@vm-test-014 ~]$ PS1='[\u@\H \w \A #\#]\$'

[wenya@vm-test-014 ~ 15:43 #13]$

查看正在执行的shell的pid: echo $$

查看上一个指令执行返回值:echo $?

查看支持的语系: locale -a

定义变量的属性:declare [-aixr] 变量名

数据流重导向:

1. 标准输入(stdin) :代码为 0 ,使用 < 或 << ;

2. 标准输出(stdout):代码为 1 ,使用 > 或 >> ;

3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

分别重导向正确和错误信息:

[wenya@vm-test-014 ~ 17:09 #39]$find /home -name testing > right 2> error

错误信息丢入垃圾桶:

[wenya@vm-test-014 ~ 17:14 #43]$find /home -name testing >right 2>/dev/null

双向重导向: tee [-a] fileName  :

last | tee -a ~/listing.log | cut -d ' ' -f1 | sort -u

last | cut -d ' ' -f1 | sort -u | tee -a ~/listing.log | more

命令执行的判断依据:  ;,&&, ||

;按顺序执行指令

&&前一个指令执行成功再执行后一个指令,否则不执行后一个

||前一个指令执行失败再执行后一个指令,否则不执行后一个

合用:

command1 && command2 || command3

管道命令:【|】

撷取命令:【cut,grep(以行撷取)

cut:将一段讯息的某一段给『切』出来

echo $PATH | cut -d ':' -f 3,5

export | cut -c 10-12

grep:grep [-acinv] '关键字' 文件名    last | grep -v root       grep -i 'wenya' 0781.log

grep -in 'w[en]ya' 0781.log  [表示一个字符e或n]

grep -in '[^a-z]ya' 0781.log  [^a-z表示不包含小写字母]

排序:sort,uniq,wc

sort:cat /etc/passwd | sort -t ':' -k 3 -n

last | cut -d ' ' -f1 | grep -v root | sort -u

uniq:

localhost.localdomain-aiquery%last | cut -d ' ' -f1 | grep -v root | sort | uniq -c

1

29 aiprod

401 aiquery

108 aisec

1 wtmp

wc:统计 wc [-l行w字数m字符数]

localhost.localdomain-aiquery%cat /etc/man.config | wc

152  765   4940

行   字数  字符数

字符转换命令

tr:转换或删除    last |tr '[a-z]' '[A-Z]'cat /etc/passwd |tr -d ':'

col:把tab键转换为空格  cat /etc/man.config |col -x| cat -A | more

expand:自动将 [tab] 转成空格键  grep '^MANPATH' /etc/man.config | head -n 3 |expand -t 6 -|cat -A

join:处理两个相关的文档(两个档案当中,有 "相同数据" 的那一行,将他加在一起)

join -t ':' /etc/passwd /etc/shadow

join -t ':' -1 4/etc/passwd-2 3/etc/group

paste:将两个文件同行粘贴在一起

paste/etc/passwd /etc/shadow

cat /etc/group |paste/etc/passwd /etc/shadow-| head -n 3

split:分割

ls -al |split -l 10 -lsroot

xagrs:参数代换   xargs [0epn] 指令        ???

test :测试

id: 查用户的UID/GID

su [-lcm] [username] :切换用户eg : su - wenya

sudo [-u [username|#uid]] 指令eg: sudo -u vbird touch /home/wenya/test   sudo mkdir /root/testing

mail : 邮件

你可能感兴趣的:(linux-基本常用命令)