linux 常用命令大全

文件和目录 
cd /home 进入 '/ home' 目录' 
cd .. 返回上一级目录 
cd ../.. 返回上两级目录 
cd 进入个人的主目录 
cd - 返回上次所在的目录 
pwd 显示工作路径 
ls 查看目录中的文件 
ls -F 查看目录中的文件 
ls -l 显示文件和目录的详细资料 
ls -a 显示隐藏文件 
mkdir dir1 创建一个叫做 'dir1' 的目录' 
mkdir dir1 dir2 同时创建两个目录 
mkdir -p /tmp/dir1/dir2 创建一个目录树 
rm -f file1 删除一个叫做 'file1' 的文件' 
rmdir dir1 删除一个叫做 'dir1' 的目录' 
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 
rm -rf dir1 dir2 同时删除两个目录及它们的内容 
mv dir1 new_dir 重命名/移动 一个目录 
cp file1 file2 复制一个文件 
cp dir/* . 复制一个目录下的所有文件到当前工作目录 
cp -a /tmp/dir1 . 复制一个目录到当前工作目录 
cp -a dir1 dir2 复制一个目录 
touch a.txt 新建一个文件
cat filename 一次显示整个文件
cat file1 file2 > file 讲几个文件合并为一个文件
less log2013.log 滑屏
head -n 10 /etc/profile head 是显示一个文件的内容的前多少行;
tail -n 5 /etc/profile tail 是显示一个文件的内容的最后多少行
clear 清屏


文件搜索 
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 
find / -user user1 搜索属于用户 'user1' 的文件和目录 
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
locate \*.ps 寻找以 '.ps' 结尾的文件 
rpm -qa|grep jdk  显示所有名称中包含 "jdk" 字样的rpm包 
rpm -qal | grep jdk1.7.0_67 查找安装包的位置
ifconfig 察看ip地址

进程

ps -ef|grep ssh
PS是LINUX下最常用的也是非常强大的进程查看命令
ps -ef 显示出的结果:
    1.UID       用户ID
    2.PID        进程ID
    3.PPID      父进程ID
    4.C           CPU占用率
    5.STIME     开始时间
    6.TTY         开始此进程的TTY----终端设备
    7.TIME       此进程运行的总时间
    8.CMD       命令名
kill -9 pid 杀死进程



用户和群组 



/etc/passwd

/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下: 
  用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

  用户名(login_name):是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
  口令(passwd):一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
  用户标识号(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
  组标识号(GID):字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。
  注释性描述(users):字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
  主目录(home_directory):也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。
  登录Shell(Shell):用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh

/etc/shadow
文件中字段主要含义为:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
“口令”字段存放的是加密后的用户口令字:
如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了;
“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
“最小时间间隔”指的是两次修改口令之间所需的最小天数。
“最大时间间隔”指的是口令保持有效的最大天数。
“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。


/etc/group
 组名:口令:组标识号:组内用户列表

    具体解释:
    组名:
    组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
    口令:
    口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
    组标识号:
    组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.
    组内用户列表:
    是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

   


groupadd [-g 666] test 新增组test
groupmod [-g 777] -n test2 test 改变用户组test为test2,     -n就是-new
groupdel test2 删除组test2
less /etc/group 查看组的情况
useradd test  新增用户,会默认创建一个私有组,组名和用户名相同,
useradd -g test test2 增加用户到指定组,  -g -group
passwd test 设置密码
passwd -d test 删除pwd
passwd -l test 锁定用户
passwd -u test 解锁
usermod -g newtest test 修改用户所属组,  usermod -g 新组 旧组
id test2 查看用户test2的信息
exit 退出当前用户状态
chmod -R 775 /usr/local/apache2/htdocs/ 修改文件和文件夹读写执行属性 可写 w=4 可读 r=2 可执行 x=1, -R 处理指定目录以及其子目录下的所有文件
chown -R ldgx:test /home/express_api/  修改文件和文件夹的用户和用户组属性,把/home/express_api/所有者和组改成ldgx和test
[root@localhost home]# useradd test
[root@localhost home]# cat /etc/passwd|grep test
test:x:1002:1002::/home/test:/bin/bash
[root@localhost home]# cat /etc/group|grep test
test:x:1002:
[root@localhost home]# cat /etc/shadow|grep test
test:!!:17631:0:99999:7:::
[root@localhost home]# useradd -g test test2
[root@localhost home]# cat /etc/passwd|grep test
test:x:1002:1002::/home/test:/bin/bash
test2:x:1003:1002::/home/test2:/bin/bash
[root@localhost home]# cat /etc/group|grep test
test:x:1002:
[root@localhost home]# cat /etc/shadow|grep test
test:!!:17631:0:99999:7:::
test2:!!:17631:0:99999:7:::
[root@localhost home]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]# groupadd test3
[root@localhost home]# cat /etc/passwd|grep test
test:x:1002:1002::/home/test:/bin/bash
test2:x:1003:1002::/home/test2:/bin/bash
[root@localhost home]# cat /etc/shadow|grep test
test:$6$6OFGQ3lm$UN7tPoF5t6lRu6hF/iL7/vyBR5OoE3AJrRn5wgOZ4djD6Z2Qft.SoUNn1yG2ojWHR7RvjKj5hfzUgkajQG1:17631:0:99999:7:::
test2:!!:17631:0:99999:7:::
[root@localhost home]# cat /etc/group|grep test
test:x:1002:
test3:x:1003:
[root@localhost home]# usermod -g test3 test
[root@localhost home]# cat /etc/passwd|grep test
test:x:1002:1003::/home/test:/bin/bash
test2:x:1003:1002::/home/test2:/bin/bash
[root@localhost home]# id test2
uid=1003(test2) gid=1002(test) 组=1002(test)
[root@localhost home]# ls
fu  hadoop  test  test2
[root@localhost home]# ls -al
总用量 4
drwxr-xr-x.  6 root   root     55 4月  10 14:51 .
dr-xr-xr-x. 17 root   root    244 3月  16 16:06 ..
drwx------. 16 fu     fu     4096 4月  10 08:28 fu
drwx------   6 hadoop hadoop  140 3月  16 17:18 hadoop
drwx------   3 test   test3    78 4月  10 14:49 test
drwx------   3 test2  test     78 4月  10 14:51 test2
[root@localhost home]# chmod -R 775 fu
[root@localhost home]# ls -al
总用量 4
drwxr-xr-x.  6 root   root     55 4月  10 14:51 .
dr-xr-xr-x. 17 root   root    244 3月  16 16:06 ..
drwxrwxr-x. 16 fu     fu     4096 4月  10 08:28 fu
drwx------   6 hadoop hadoop  140 3月  16 17:18 hadoop
drwx------   3 test   test3    78 4月  10 14:49 test
drwx------   3 test2  test     78 4月  10 14:51 test2
[root@localhost home]# chown -R test2:test fu
[root@localhost home]# ls -al
总用量 4
drwxr-xr-x.  6 root   root     55 4月  10 14:51 .
dr-xr-xr-x. 17 root   root    244 3月  16 16:06 ..
drwxrwxr-x. 16 test2  test   4096 4月  10 08:28 fu
drwx------   6 hadoop hadoop  140 3月  16 17:18 hadoop
drwx------   3 test   test3    78 4月  10 14:49 test
drwx------   3 test2  test     78 4月  10 14:51 test2



vi编辑器


命令行模式

【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
【:set nu】 显示行号
【:set nonu】 取消显示行号
一般模式常用操作
【[0]或[Home]】 光标移动到当前行的最前面
【[$]或[End]】 光标移动到当前行的末尾
【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的第一行,相当于"1G"
【n[Enter]】 光标向下移动n行
【dd】 删除光标所在的一整行
【dw】 删除光标所在的一易单词
【u】 撤消上一个操作

【v,V】 v:将光标经过的地方反白选择;V:将光标经过的行反白选择
【[Ctrl] + v】 块选择,可用长方形的方式选择文本
【y】 将反白的地方复制到剪贴板
【d】 将反白的内容删除
【p】将缓冲区内的字符贴到光标所在位置
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的. 查找
:%s/old/new/g     搜索整个文件,将所有的old替换为new
:%s/old/new/gc     搜索整个文件,将所有的old替换为new,每次都要你确认是否替换复制粘贴

猜你喜欢

转载自blog.csdn.net/fulq1234/article/details/79881394