Linux有哪些常用的命令
这篇文章主要介绍"Linux有哪些常用的命令",在日常操作中,相信很多人在Linux有哪些常用的命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Linux有哪些常用的命令"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.创建文件夹
mkdir ruozedata 创建1个文件夹
mkdir 1 5 7 并排
mddir -p 2/3/5 级联
2.创建文件
vi jepson.log 空和不空
touch www.log 创建空
echo "" > ruoze.log 有1个字节
cat /dev/null > data.log 0字节 需要清空或者新建
3.mv
mv www.log www.log20180519 移动+改名称
4.cp
cp jepson.log 7 文件
cp -r 7 5 文件夹 带-r参数
思考: mv 和 cp谁快?
mv (因为cp动的是mv的两倍)
5.删除
rm 文件 (romove缩写)
rm -f 强制删除文件
rm -rf 强制删除 文件夹 (f=forc 强制的意思)
思考: rm -rf / 慎用
6.环境变量
alias rzd='cd /root/ruozedata'(暂时理解为alias)
全局:
[root@ruozehadoop001 ~]# vi /etc/profile
# alias
alias rzd='cd /root/ruozedata'
[root@ruozehadoop001 ~]# source /etc/profile
source意为执行,可用.代替, 即 . /etc/profile(.后有一个空格)
个人家目录:
[jepson@ruozehadoop001 ~]$ ll -a(查看隐藏文件)
total 28
drwx------. 4 jepson jepson 4096 May 19 05:36 .
drwxr-xr-x. 3 root root 4096 May 19 05:36 ..
-rw-r--r--. 1 jepson jepson 18 Jul 18 2013 .bash_logout
-rw-r--r--. 1 jepson jepson 176 Jul 18 2013 .bash_profile
-rw-r--r--. 1 jepson jepson 124 Jul 18 2013 .bashrc
[jepson@ruozehadoop001 ~]$ vi .bash_profile(编辑.bash_profle,一般上来说工程师会选择.bash_profile和.bashrc两个文件之一进行编辑,为主文件)
alias tmp='cd /tmp'
[jepson@ruozehadoop001 ~]$ source .bash_profile
个人习惯:
[jepson@ruozehadoop001 ~]$ . .bash_profile
7.su 切换用户
- 参数表示切换用户,
执行jepson用户的环境变量文件和进home
[root@ruozehadoop001 ~]# su jepson(到jepson个人用户的root目录)
[jepson@ruozehadoop001 root]$
[jepson@ruozehadoop001 root]$ pwd
/root
[jepson@ruozehadoop001 root]$
[root@ruozehadoop001 ~]# su - jepson(到jepson个人用户的home目录)
[jepson@ruozehadoop001 ~]$
[jepson@ruozehadoop001 ~]$ pwd
/home/jepson
[jepson@ruozehadoop001 ~]$
8.vi
命令 i进编辑 shift+: 进入尾行
编辑 正文 ecs退出到命令
尾行 wq保存 wq!强制保存退出 q! 强制退出
9.sudo 普通用户临时有root权限
[jepson@ruozehadoop001 ~]$ ll /root
ls: cannot open directory /root: Permission denied
[root@ruozehadoop001 ~]# vi /etc/sudoers(更改sudoers里的权限,让jepson有root权限)
jepson ALL=(root) NOPASSWD:ALL
[jepson@ruozehadoop001 ~]$ sudo ll /root
sudo: ll: command not found
[jepson@ruozehadoop001 ~]$ sudo ls -l /root(此处ll不能用,但是全称ls -l可以)
total 120
-rw-------. 1 root root 1382 Apr 28 05:56 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 May 19 21:40 Desktop
drwxr-xr-x. 2 root root 4096 May 19 21:40 Documents
drwxr-xr-x. 2 root root 4096 May 19 21:40 Downloads
-rw-r--r--. 1 root root 49565 Apr 28 05:55 install.log
-rw-r--r--. 1 root root 10033 Apr 28 05:51 install.log.syslog
drwxr-xr-x. 2 root root 4096 May 19 21:40 Music
drwxr-xr-x. 2 root root 4096 May 19 21:40 Pictures
drwxr-xr-x. 2 root root 4096 May 19 21:40 Public
drwxr-xr-x. 4 root root 4096 May 20 14:32 ruozedata
-rw-r--r--. 1 root root 13 May 19 23:07 ruoze.log
-rw-r--r--. 1 root root 34 May 19 23:06 ruoze.log1
drwxr-xr-x. 2 root root 4096 May 19 21:40 Templates
-rw-r--r--. 1 root root 17 May 19 22:55 test.log
drwxr-xr-x. 2 root root 4096 May 19 21:40 Videos
[jepson@ruozehadoop001 ~]$
10.用户和用户组
[root@ruozehadoop001 ~]# ll /usr/sbin/user*(*代表所有,查看所有用户)
-rwxr-x---. 1 root root 103096 Dec 8 2011 /usr/sbin/useradd
-rwxr-x---. 1 root root 69560 Dec 8 2011 /usr/sbin/userdel
-rws--x--x. 1 root root 33952 Aug 23 2010 /usr/sbin/userhelper
-rwxr-x---. 1 root root 98680 Dec 8 2011 /usr/sbin/usermod
-rwsr-xr-x. 1 root root 9000 Nov 23 2013 /usr/sbin/usernetctl
[root@ruozehadoop001 ~]# ll /usr/sbin/group*(*代表所有,查看所有用户组)
-rwxr-x---. 1 root root 54968 Dec 8 2011 /usr/sbin/groupadd
-rwxr-x---. 1 root root 46512 Dec 8 2011 /usr/sbin/groupdel
-rwxr-x---. 1 root root 50800 Dec 8 2011 /usr/sbin/groupmems
-rwxr-x---. 1 root root 61360 Dec 8 2011 /usr/sbin/groupmod
[root@ruozehadoop001 ~]# id jepson(查看jepson)
uid=500(jepson) gid=500(jepson) groups=500(jepson)
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]# useradd ruoze 创建1个名称相同的用户和用户组
[root@ruozehadoop001 ~]# id ruoze
uid=501(ruoze) gid=501(ruoze) groups=501(ruoze)
[root@ruozehadoop001 ~]#
gid : 主组
groups: 所有组
[root@ruozehadoop001 ~]# ll /home/
total 8
drwx------. 4 jepson jepson 4096 May 20 15:08 jepson
drwx------. 4 ruoze ruoze 4096 May 20 15:14 ruoze
[root@ruozehadoop001 ~]# userdel ruoze(删除用户命令)
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]# id ruoze
id: ruoze: No such user
[root@ruozehadoop001 ~]# ll /home/(home里面检测不到已经删除了ruoze用户)
total 8
drwx------. 4 jepson jepson 4096 May 20 15:08 jepson
drwx------. 4 501 501 4096 May 20 15:14 ruoze
[root@ruozehadoop001 ~]#
再次创建
[root@ruozehadoop001 ~]# useradd ruoze
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists(因为home没检测到ruoze用户已经被删除,所以会报重复存在问题)
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]# cat /etc/passwd(打印用户)
[root@ruozehadoop001 ~]# cat /etc/group(打印用户组)
[root@ruozehadoop001 ~]# usermod -a -G bigdata ruoze(增加一个bigdata用户到ruoze里)
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]# id ruoze
uid=501(ruoze) gid=501(ruoze) groups=501(ruoze),502(bigdata)
[root@ruozehadoop001 ~]#
11.管道符 和 过滤
[root@ruozehadoop001 ~]# cat /etc/passwd | grep jepson(把|前面的结果作为后面的指令的输出,通过grep过滤结果,得到最后的结果,此处为只要jepson的passwd)
jepson:x:500:500:ruozedata:/home/jepson:/bin/bash
[root@ruozehadoop001 ~]#
12.进程和端口号
[root@ruozehadoop001 ~]# ps -ef|grep ssh (查看ssh的端口号)
root 1480 1 0 14:03 ? 00:00:00 /usr/sbin/sshd
root 1819 1480 0 14:07 ? 00:00:00 sshd: root@pts/0,pts/1,pts/2,pts/3
root 2286 1823 0 15:34 pts/0 00:00:00 grep ssh
[root@ruozehadoop001 ~]#
用户 pid
root 1480
[root@ruozehadoop001 ~]# ps -ef|grep http
root 2820 1 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2823 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2824 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2825 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2826 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2827 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2828 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2829 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
apache 2830 2820 0 15:40 ? 00:00:00 /usr/sbin/httpd
root 24478 1823 0 15:44 pts/0 00:00:00 grep http
[root@ruozehadoop001 ~]# kill -9 2820 杀1个(但是后面的杀不掉)
[root@ruozehadoop001 ~]# kill -9 $(pgrep -f httpd) 所有关于httpd
[root@ruozehadoop001 ~]# ps -ef|grep http
root 25285 1823 0 15:46 pts/0 00:00:00 grep http
[root@ruozehadoop001 ~]#
凡rm 和 kill,先确定是否要删除和杀死,其rm -rf /不准用
其kill 命令执行前 确认清楚
[root@ruozehadoop001 ~]# netstat -nlp|grep 1480(查看端口号为1480的进程)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1480/sshd
tcp 0 0 :::22 :::* LISTEN 1480/sshd
[root@ruozehadoop001 ~]#
思考题:
那台电脑的xxx web服务界面?
xxx服务的ip: ifconfig
端口号: ps -ef|grep xxx (根据进程名字查看端口号) netstat -nlp| grep pid (根据端口号查看进程名)
13.yum 安装rpm
[root@ruozehadoop001 ~]# yum install httpd
[root@ruozehadoop001 ~]# service httpd start(网络不通时注意对应DNS和关闭放火墙)
查询
[root@ruozehadoop001 ~]# rpm -qa | grep http
httpd-tools-2.2.15-60.el6.centos.6.x86_64
httpd-2.2.15-60.el6.centos.6.x86_64
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]#
卸载
[root@ruozehadoop001 ~]# rpm -e httpd-tools-2.2.15-60.el6.centos.6.x86_64
error: Failed dependencies:
httpd-tools = 2.2.15-60.el6.centos.6 is needed by (installed) httpd-2.2.15-60.el6.centos.6.x86_64
[root@ruozehadoop001 ~]#
不校验
[root@ruozehadoop001 ~]# rpm -e --nodeps httpd-tools-2.2.15-60.el6.centos.6.x86_64(不匹配依赖)
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]#
[root@ruozehadoop001 ~]# rpm -qa | grep http
httpd-2.2.15-60.el6.centos.6.x86_64
[root@ruozehadoop001 ~]#
到此,关于"Linux有哪些常用的命令"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!