LINUX常用命令(基础)
1. man 对你熟悉或不熟悉的命令提供帮助解释
eg:man ls 就可以查看ls相关的用法
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2. ls 查看目录或者文件的属*,列举出任一目录下面的文件
eg: ls /usr/man
ls -l
a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。
3. cp 拷贝文件
eg: cp filename1 filename2 //把filename1拷贝成filename2
cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c
4. rm 删除文件和目录
eg: rm 1.c //将1.c这个文件删除
5. mv 移走目录或者改文件名
eg: mv filename1 filename2 //将filename1 改名为filename2
mv qib.tgz ../qib.tgz //移到上一级目录
6. cd 改变当前目录 pwd 查看当前所在目录完整路径
eg: pwd //查看当前所在目录路径
cd netseek //进入netseek这个目录
cd //退出当前目录
7. cat,more命令
将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。
cat 1.c 或more 1.c //都可以查看里面的内容。
gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。
8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。
eg: chmod u+x filenmame //只想给自己运行,别人只能读
//u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
chmod g+x filename //同组的人来执行
9. clear,date命令
clear:清屏,相当与DOS下的cls;date:显示当前时间。
10. mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
11. su 在不退出登陆的情况下,切换到另外一个人的身份
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)
12.whoami,whereis,which,id
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//which:查询该命令所在目录(类似whereis)
//id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
eg: whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
which bin
13. grep,find
grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
14. kill 可以杀死某个正在进行或者已经是dest状态的进程
eg; ps ax
15. passwd 可以设置口令
16. history 用户用过的命令
eg: history //可以显示用户过去使用的命令
17. !! 执行最近一次的命令
18. mkdir命令
eg: mkdir netseek //创建netseek这个目录
19. tar 解压命令
eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里
20. finger 可以让使用者查询一些其他使用者的资料
eg: finger //查看所用用户的使用资料
finger root //查看root的资料
add user
所以创建新账号的过程也就是和这几个文件在打交道,不过不要害怕,通过 useradd 命令来创建新账号,系统会自动与这些文件进行操作不用咱手动一个一个的来更改,这样也不用担心出错的问题。 呵呵。
useradd 语法结构:
有事找“男人”是Linux最有效的方法,咱先来看一下useradd的语法结构,因为本人现在系统是Fedora11,其man语句直接用的中文,虽然方便阅读却也难免有错误,不过基本还好,大家看到下面的汉字勿怪,呵呵:
名 称 useradd – 帐 号 建 立 或 更 新 新 使 用 者 的 资 讯
语 法 useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] usernameuseradd -D [-g default_group] [-b default_home]
[-f default_inactive] [-e default_expire_date]
[-s default_shell]
首先来说一下这个 -D 参数,如果加上此参数当 useradd 会显示出现创建新账号的一些默认值,或是通过指定参数内容来更新默认值。 这个咱们稍候再来讨论,暂且略过。
看其没有-D参数的各个选项,下面简单为大家描述一二,有个印象,一会儿再看我给列位的示例时也不至于头晕。呵呵。
参数名 | 描述 |
---|---|
-u | 后面接UID,是一组数字。直接给这个账号指定一个特定的UID。 |
-g | 后面接的用户组名称就是之前提到的初始用户组。 该group ID(GID)会放置到 /etc/passwd 的第四个字段内。 |
-G | 后面接的用户组名称是这个账号还可以属于哪些用户组。 此参数会修改 /etc/group 内的相关数据。 |
-M | 强制不创建家目录。 |
-m | 强制必须创建家目录。 |
-c | 就是 /etc/passwd 第五栏的用户说明信息,可以随便设置,各位随意。 |
-d | 用此参数后面指定的路径做为新账号的家目录,而不使用默认值。 |
-r | 创建的账号为系统账号:该账号的UID会有限制(/etc/login.defs) |
-s | 指定新账号的默认shell |
useradd 示例:
说了这么半天,咱也来动手用 useradd 命令新建几个账号,提升一下咱的动手能力。另外,算是做个演示吧,毕竟实践出真知嘛。呵呵,不过我忘了这是哪位伟人说的话了。嗯。
[ simaopig @ xiaoxiaozi ~ ] $ useradd chongpig
bash : / usr / sbin / useradd: 权限不够
[ simaopig @ xiaoxiaozi ~ ] $ su
密码:
[ root @ xiaoxiaozi simaopig ] # useradd chongpig
[ root @ xiaoxiaozi simaopig ] # ls -l /home/
总计 24
drwx------. 4 chongpig chongpig 4096 07- 21 21 : 58 chongpig
drwx------. 2 root root 16384 07- 12 13 :08 lost+found
drwxr-xr-x. 44 simaopig simaopig 4096 07- 21 21 : 21 simaopig
# 在和用户相关联的几个文件里面搜一下chongpig这个账号
[ root @ xiaoxiaozi simaopig ] # grep chongpig /etc/passwd /etc/shadow /etc/group
/ etc / passwd :chongpig:x:501:501:: / home / chongpig: / bin / bash
/ etc / shadow:chongpig: !! : 14446 : 0 : 99999 : 7 :::
/ etc / group:chongpig:x: 501 :
# 并且把它加到 mysql 组中
[ root @ xiaoxiaozi simaopig ] # grep 888 /etc/passwd
[ root @ xiaoxiaozi simaopig ] # useradd -u 888 -g mysql simaopig2
[ root @ xiaoxiaozi simaopig ] # grep simaopig2 /etc/passwd /etc/shadow /etc/group
/ etc / passwd :simaopig2:x:888:27:: / home / simaopig2: / bin / bash
/ etc / shadow:simaopig2: !! : 14446 : 0 : 99999 : 7 :::
[ root @ xiaoxiaozi simaopig ] # useradd -r simaopig3
[ root @ xiaoxiaozi simaopig ] # grep simaopig3 /etc/passwd /etc/shadow /etc/group
/ etc / passwd :simaopig3:x:490:484:: / home / simaopig3: / bin / bash
/ etc / shadow:simaopig3: !! : 14446 ::::::
/ etc / group:simaopig3:x: 484 :
系统账号的 UID 与 GID 竟然不同,而且在 /etc/group 里面有对应关系。
细心的同学一定会发现,用 useradd 创建的账号是没有登录功能的,因为其在 /etc/shadow 中的密码栏是不可能登录的,以 ! 开头 。所以近日我们还会讨论 Linux 给用户更改密码的方法。
useradd 默认值:
上面的示例可以让我们了解到,系统其实已经规范好了一些新增用户时的参数了,像我没有指定用户的家目录,也没有指定用户的 UID 和 GID 可是系统会帮我们为用户加上,同时其默认shell被设置成了 /bin/bash ,也让我知道了,使用 useradd 命令一定要有 root 权限。那么, useradd 去新增用户时,其默认值是多少呢?
使用上面所说的 useradd 的 -D 参数可以显示出其默认值,各位可以看出,其值完全与 /etc/default/useradd 这个文件里面的内容相同。原来在 linux 中使用 useradd 去新增用户时,一些在 /etc/passwd 中的值是会去参考 /etc/default/useradd 这个文件的 。其文件内容基本如下:
# 默认的用户组
GROUP = 100
# 家目录的地址
HOME = / home
# 密码过期的宽限时间,对应 /etc/shadow 的第七栏
INACTIVE =- 1
# 账号失效日期,对应 /etc/shadow 的第八栏
EXPIRE =
# 默认使用的shell
SHELL = / bin / bash
# 用户家目录里面的内容参照文件(里面基本上全为隐藏文件——>以“.”开头的文件)
SKEL = / etc / skel
# 建立使用者的mailbox
CREATE_MAIL_SPOOL = yes
总结及啰嗦:
简简单单的先介绍至此,传说中 linux 创建账号还可以使用 adduser 命令,其实这与 useradd 是同一个命令的不同名字罢了。因为大家用 man adduser 进入的完全是 useradd 的介绍页。当然有更简单的通过图形界面创建用户的方法,但是这我就不教大家了。