目录
Linux常用操作命令(完整版)
1.命令查看帮助(三种方式)
2.查看硬件信息
3.服务
4.查看系统日志
5.开机自启动
7.切换运行级别
8.软件包管理
10.用户管理
11.清屏
14.改名字 mv
15.whoami
16.按5下 ESC
17.mount 挂载+卸载
18.VI is important
20.where is
21.查看环境变量
22.链接
23.wc(word count)
24.grep
25.grep与find
26.dmesg
27.命令替换wall
28.重定向
29.管道
30.文件权限
31.chmod
32.怎么修改文件所有者
33.简单用户管理
34.添加用户
35.设置密码
36.两个位置变化
37.添加一个组
38.删除用户和组
39.用户切换
40.shell
shutdown --help
shutdowm --?
man shutdown #(man就是manual :手册、指南)
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo #查看CPU相关参数
cat /proc/partitions #查看硬盘和分区
cat /proc/meminfo #查看内存信息
cat /proc/version #查看版本,类似uname -r
cat /proc/ioports #查看设备I/O端口
cat /proc/interrupts #查看中断
cat /proc/pci #查看pci设备的信息
cat /proc/swaps #查看所有swap分区的信息
cat /proc/cpuinfo #查看CPU相关参数
cat /proc/partitions #查看硬盘和分区
cat /proc/meminfo #查看内存信息
cat /proc/version #查看版本,类似uname -r
cat /proc/ioports #查看设备I/O端口
cat /proc/interrupts #查看中断
cat /proc/pci #查看pci设备的信息
cat /proc/swaps #查看所有swap分区的信息
/var/log/dmesg #核心启动日志
/var/log/messages #系统报错日志
/var/log/maillog #邮件系统日志
/var/log/xferlog #FTP服务用日志
/var/log/secure #安全信息 系统登陆与网络连接的信息
/var/log/wtwp #登录记录
tail -f /var/log/messages #查看最近发生的信息.
用chkconfig这个命令,check configure 检查配置
chkconfig --list | more
chkconfig --list | grep mysql
chkconfig --list | grep vsftpd
chkconfig mysql on 这几个3 4 5级别都启动
chkconfig --level 3 mysql on 只是在3这个级别启动
chkconfig mysql off #检查配置mysql关闭
Mysql数据库的服务--------------mysql
vsFTP服务器的服务------------vsftpd
防火墙的服务------------iptables
ssh的服务------------sshd
http------------------httpd
6.系统开关机
切换虚拟工作台:Ctrl+Alt+F1~F12
虚拟工作台最有用的是:当一个程序出错造成系统四所时,可以切换到其他虚拟控制台,关闭这个程序。
关闭计算机。
shutdown -h -t 30 30秒后安全地关机断电
shutdown -c 取消关机命令执行
重启计算机reboot
退出命令行 exit
级别从1 到6,具有不同功能。
# 0 - 停机
# 1 - 单用户模式
# 2 - 多用户,但是没有 NFS
# 3 - 完全多用户模式
# 4 - 没有用到
# 5 - X11
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
对各个运行级的详细解释:
0 为停机,机器关闭。
1 为单用户模式。
2 为多用户模式,但是没有NFS 支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。
5 就是 X11 ,进到 X Window 系统了。
6 为重启,运行 init 6 机器就会重启。
安装 RPM 包
# rpm -ivh package.rpm
升级 RPM 包
# rpm -Uvh package.rpm
卸载 RPM 包
# rpm -ev package
查询 RPM 包中包含的文件列表
# rpm -qlp package
查询 RPM 包中包含的文件列表
# rpm -qlp package
查询 RPM 包中包含的内容信息
# rpm -qip package
查询系统中所有已安装 RPM 包
# rpm -qa
who:查询当前在线的用户
groups:查询用户所属的组
id:显示当前用户信息
finger:查询用户信息
添加新的用户 useradd username
更改用户密码 passwd username
改变用户home目录 usermod -d /home/username username
usermod -e "2009-01-01" username 给用户设置密码过期时间
usermod -G root(组) username (用户) 将一个用户添加到一个组里
usermod -g root username 更改用户的gid
usermod -s /bin/csh username 更改用户的默认shell
usermod -u 504 username 更改用户的uid,改为504
usermod -L username 锁定用户,锁定后用户不能登陆linux系统
usermod -U username 解锁用户
passwd -s username 看用户是否被锁定
userdel 用户名 仅删除用户注册信息
userdel -r 用户名 删除属于该用户的的家目录和邮件
10.网络配置
(未完)
clear是清屏幕,windows是cls
12.列出文件的内容
cat tac head tail more
cat 3.txt 正序 从第一行开始
tac 3.txt 倒序 从倒数第一行开始
head 3.txt 头
head -3 3.txt 列出前3行
head可以带参数 -lines
尾 tail -1 3.txt 最后一行
more 3.txt ------more默认是可以分页的,所以很多管道用到了他
ls 横着排显示,这一行显示满了接着下一行
ls -l 一行只显示一个文件或者目录的详细信息
ls -m 横着排显示,这一行显示满了接着下一行
ls -R 有点像树状展示
13.cp+move
cp copy 拷贝 mv move 移动
cp 1 2 把1这个文件拷贝一份,名字叫2
cp -r d1 d2 拷贝目录必须带参数 r
删出一个目录,先要删去目录下面的东西。要用递归,拷贝也是
mv d2 d1 把d2目录移到d1,如果不行,加递归 mv –r
Mv除了可以移动外,还可以改名字
Mv 3.txt 4.txt 把3.txt的名字改为4.txt
显示当前的用户,是root还是其他用户
按5下 ESC,会出现可以很多使用的命令
display all 2091 possiblities,即RedHat Linux有2000多个命令。
mount point 挂载点
mount /dev/cdrom /mnt/cdr 将dev目录下的cdrom设备与
根目录下的mnt目录下的cdr目录关联起来,这就是挂载
挂载点------cdr 设备-----CDROM
卸载umount /dev/cdrom 或者 umount /mnt/cdr
Vi:命令模式与编辑模式,刚开始进入的命令模式,不能输入内容。
敲a进入编辑模式,底下会出现insert这个单词 append 追加
敲esc 退出编辑模式,进入命令模式
在命令模式敲冒号 : ,然后再敲命w 是存盘
q 是退出 q!是不存盘退出 wq是存盘退出(最常用)
wq是存盘退出 w是不是write的意思。
19.find
ind / -name *local 从根目录下面开始查找,指定一个位置,从那里开始查
find /etc -name *local
find /etc | grep local 系统回去找含有local这几个字母的所有文件或者目录
find / -name MySQL系统只是回去找名字叫MySQL的文件或者目录
find / -name MySQL*找名字叫前几个字母是MySQL(后面任意)的文件或者目录,名字不必写全
whereis ls 查找ls这个命令在哪里
在DOS下面看环境变量
echo %path%
echo %classpath%
Linux下面 echo $PATH PATH 必须大写
ln 3.txt 4 more 4
#链接:改了3.txt,4的内容也会自动跟着改,前提是你没有修改4。
ln 3.txt 4
# 硬链接,相当于复制了一份,然后再在两个文件之间建立了快捷方式,修改3.txt,4也会变。
ln -s 3.txt 5
#软链接,相当于windows的快捷方式,修改3.txt,5也变。
两种链接的不同之处:
将3.txt删去,5不存在了,连接断掉了,4还存在。
wc -l lines 这个文件有多少行
ls -l | grep '^d' 只把目录列出来
find / -name MySQL*
find / | grep MySQL
fdisk -l l显示当前的磁盘信息
列出开机的启动信息 全称是------d message
dmesg | grep eth0 # 看第一块网卡启动正常吗
warning all 通知所有人,警告所有人
wall helloworld
wall `date` 警告的字符是当前的时间,把date当做一个命令,把这个命令执行的结果警告出去(` 这个字符是数字1左边那个字符)
wall date 警告的字符是 date
Java原来的一个程序,把out替换掉.
System.out.println() 把命令输出到了文件中
ls
ls > cmd.txt 把刚才ls执行的命令的结果输入到cmd.txt这个文件中
错误输出重定向---------
lssss > cmd.txt 不行 , lsss这个命令不存在
lssss 2> cmd.txt
重定向输入 wall < cmd.txt 把cmd.txt里面的内容警告出去
ls -R | more 把上一个命令执行的结果交给下一个命令
ls -l /etc | more
more默认是可以分页的,但是ls -l 不会分页,有时候显示的内容巨多无比,用more将结果。分页岂不很好。
ls -l | grep '^d' 只把目录列出来,/etc下面的文件与目录很多
最左边的一共有10位
- (代表文件) d(代表目录) l(是L代表链接)
把最左边的那一个去掉,就剩下9个了,可以划分成3组。
Linux文件的权限分为4种---------
read write execute none(什么也没有)
9位分成3组:
第一组代表这个文件的所有者有什么权限
第二组代表这个文件的所有者同组的人所拥有的权限
第三组代表剩下的人具有什么权限
x--------------execute
r-------------read
w---------------write
- 代表什么也没有 none
change mode
chmod +x 4 给4这个文件加上可执行权限,其他两组也具备
chmod -x 4 取消权限
chmod u+x 4 只给自己加上可执行权限,只给第一组加上权限
怎样让同组的其他人也有这个权限:
chmod g+x 4 只给第二组加上权限 group
chmod o+x 4 只给第三组加上权限 other
chmod 755 4
chmod 777 4
7表示权限都齐了 5表示没有写的权限
在Linux(Unix)内部表示权限,是用3个八进制数来表示的
000 =====0 111 ======7
chown testuser1 4 -------------change owner
当一个用户登录的时候,默认的路径是这个用户的主目录
useradd testuser
adduser testuser
passwd testuser 给这个用户设置密码
按了退格键 无效,因为密码不显示
增加一个用户后,系统有两个位置会有变化:/home 、 /etc
cd /home ls #home目录会有一个自动生成的目录,叫做testuser
cd /etc more passwd 打开 passwd这个文件
passwd这个文件没有存密码,存的是所有的用户testuser:x:501:502::/home/testuser:/bin/bash
这句话的意思:这个用户 id号---501 所位于的组:502
用户的主目录为----/home/testuser
这个用户用到的shell -------- /bin/bash
用户组------------------------------------------------
组的信息在group这个文件中 /etc/group
添加一个用户不指定组的时候,会添加一个和你用户名一样的组
groupadd testg
useradd testuser2 -g testg 添加用户的时候指定组
修改用户所属组 usermod -g testuser testuser2新的组 用户名
usermod---------user modify
删除用户分两步---删掉用户 删掉他的目录
userdel testuser
cd /home
rm -rf testuser
组的删除 groupdel testg
switch user
su testuser2
内核外面有一层,叫做shell,shell会解释你在Linux下面敲的命令,然后再与内核打交道。shell有不同的形式,有不同的shell,c shell -------c 语言形式的shell,不同的shell执行的命令是不一样的,同样的命令在不同的shell底下不能通用,常用的命令,可以通用。
咱们用的shell叫做 bash,以前叫做bsh,名字的由来,是由一个叫做bone的人,写的,所以叫做bsh,后来他又写了一遍,bone again shell ,所以叫做 bash。
bash ------ 切换到bash
csh --- 切换到 C shell
ksh ----- 切换到k shell
sh 最原始最原始的shell
bsh ------ 切换到bsh