Shell编程——shell常用命令

时间:2024-01-10 20:19:32

浏览器标签页的切换:Ctrl+Tab

[终端]
打开终端快捷建:Ctrl+Alt+t
关闭终端快捷键:Ctrl+Shift+q
打开新的终端标签页快捷键:Ctrl+Shift+t
关闭终端标签页快捷键:Ctrl+Shift+w
终端页之间的切换快捷键:Ctrl+PgUp
终止进程:Ctrl+c
退出程序:Ctrl+d
用火狐浏览器打开网页:firefox www.baidu.com

清屏:Ctrl + l

[列目录内容ls]
    ls -a:列出所有文件及目录
    ls -l:长格式列表
    ls -F:短格式列表,文件名称后加一符号表示属性,可执行文件加×,目录/
    ls -R:递归列出目录及其子目录
    ls -t:按文件依照修改时间排序
[建立目录mkdir]
    mkdir -p a/b/c:同时创建父目录和子目录
[删除目录rmdir]
    rmdir -p a/b/c:删除目录时一同删除其空子目录
[删除文件或目录rm]
    rm -r mydir:删除目录时一同删除其空子目录。删除目录时必须用此选项
[改变工作目录cd]
    cd ~-:切换到刚离开的目录
[显示文件的前k行内容]head -n k filetest
[显示文件的最后k行内容]tail -n k filetest
[显示文件内容或合并文件cat]
    cat -n myfile:显示myfile文件的内容,并为所有行添加行号
    cat file1 file2 > file3: 将file1,file2的内容合并为file3
    cat > myfile:从键盘读入内容并将其保存到文件myfile,按Ctrl+d结束
[字符串过滤命令grep]
    grep -i pattern [file]:忽略大小写的区别
    grep -v pattern [file]:反向搜索,显示不匹配的内容
[文件排序命令sort]
    sort -f [file]:忽略大小写
    sort -r [file]:按逆序输出排序结果
    sort file1 > file2:将file1按字典顺序排序后输出到file2

[在不需要重启的情况下使刚修改的初始化文件生效:source file]

[I/O重定向]
    <:标准输入重定向,一般指输入为某个文件
        如:wc < /etc/passwd
    >:覆盖方式标准输出重定向。若文件不存在,则创建;否则覆盖
        如:ls -l > /tmp/dir.out   #覆盖方式
    >>:追加方式准输出重定向。若文件不存在,则创建;否则在其尾部追加
        如:ls -l >> /tmp/dir.out  #追加方式

[文件权限管理]
    所有者权限u:user,组权限g:group,外部权限o:other
    基本权限:读取r:4,写入w:2,执行x:1
    [改变文件权限chmod]:增加权限+,删除权限-,设置权限=
        如:chmod u+wx,g=rx,o-x testfile
    [更改文件所有者chown]:chown user filelist
    [更改文件所属群组chgrp]:chgrp group filelist

[进程管理基本命令]
    ps -f:查看正在运行的进程
    kill -9 pid:终止进程执行
    pstree:进程树及进程状态查询
    top:动态的显示正在运行的进程
    uptime:查看系统的已运行时间和平均负载
    free:显示系统未使用的和已使用的内存数目
    vmstat:报告虚拟内存使用的情况

[用户管理]
    与用户和组有关的系统文件:/etc/passwd,/etc/shadow,/etc/group
    用户管理:useradd,usermod,userdel
    用户组管理:groupadd,groupmod,groupdel
    用户密码管理:passwd
    [例子]
        创建用户组:groupadd groupname
        修改用户组:groupmod -n newgroupname oldgroupname
        删除用户组:groupdel groupname
        添加用户:useradd -d homedir -g groupname -m -s shell accountname
        设置密码:passwd accountname
        修改用户:usermod -l newname oldname
        删除用户:userdel -r accountname