Title, I want to go to php back-end direction, optimistic about the recruitment to understand Linux, want to know in advance
Reply content:
Need to learn, very important.
At least the following points are required:
1. Common commands: CD, LS, CP, mkdir, MV, top, PS, cat, SSH, SCP, tail, head, find, grep, chmod, Chown,kill, rm, ping, etc.
2, some basic concepts: pipeline, redirection, standard output, standard error output and so on.
3, vi or VIM basic operation.
4, the configuration of scheduled tasks.
5, log View analysis.
6, understand the configuration of PHP, Apache, Nginx and so on.
7, can read some bash shell script, some df,du,netstat and other commands.
Let me explain why I need to learn Linux.
I do PHP, before a domestic e-commerce company to do promotional related development.
1, when I took over the project, a lot of things are not documents, I have to go to the server to understand some of the situation.
1) I want to know what scripts are running, whether these scripts have log output, and so on.
This will require some Linux basic commands, Cd,ls,find,cat,crontab and so on.
2) I want to know where some Web projects are located, the domain name to configure, and where to put the access logs.
This is what I need to know. View Nginx Virtual Host configuration, vim and other basic usage.
2, deployment on-line is responsible for the special operations, but on-line, I have to confirm that everything is running normally.
For web programs, do some testing on the online page.
For scripts, the best way to do this is to look at the logs, crontab, cat, tail and other commands are essential.
For the data, the MySQL command line is viewed.
3, load situation view, sometimes, OPS will be on the server with some Zabbix and other things, so that you can easily view the server on the page condition.
But some servers are not installed, then you have to look at the server yourself. Top,sar, PS and other commands are necessary.
4, statistics, sometimes the product will let you help statistics some data. SED, grep, WC and so on are necessary.
5. Troubleshoot problems on the line. This is the time to be the most.
1), analysis log is very important. Cat, sed, tail, WC, etc. are essential.
2), some view process, disk status, number of connections, DNS status of the command necessary, PS, df, Du, netstat, nslookup, ping and so on. The company has professional operations, but they are not aware of your project, out of your project, some problems can not be found by operation, so you have to be.
6, once there is a script, we want it to loop execution, each execution only a few seconds interval, this single task is not easy to work on, so I have to have some bash shell.
7, operation and maintenance line, development environment and test environment is generally no matter. So for some projects, we have to install some extensions or software ourselves and deploy them in the development environment and the test environment.
I am now in this company, some things ops is no matter, you have to deploy.
That would have to be chmod, Chown, SCP, Svn,mkdir, RM, crontab and other orders, to understand Nginx, rsync some configuration.
People in the building say it's not important, use WINSCP on the line.
1, in fact, the authority of a slightly strict management of the company, it is not possible to let you directly through the SSH protocol boarded, so the software like WINSCP is not used at all.
I am currently in the company, is to log on to the channel machine, and then log on to the destination server.
2, do you do not have a script in the project, do not need to view the scheduled tasks, do not need to redirect output scheduled task output?
3, log, sometimes although the weitong will allow you to directly through the Web interface to get logs, but if the log has several G? Thank you, as you have said above, if only the work is needed. Does not require too much Linux level. The daily operation also does not have to log on to the Linux, the deletion file uses WINSCP to pull to the windows to be good.
However, if the owner of Linux as a hobby, in his spare time to delve into the words. Then the help to your PHP is by no means a two-point star. If you are familiar with Linux and its working mechanism, your ability and speed to solve PHP problems will be greatly improved. The general study to the degree of self-made rpm/deb bag is almost. Look at the situation, ordinary PHP as long as the file operation, if you want to become master level must be proficient. Do not learn to do this kind of useless, learn LNMP environment of the building (lamp is outdated, but learning can also), study performance analysis and optimize the Apache,nginx configuration what will it be .... At least the Web backend, how deep Linux is not too much, because the industry is currently 99% Linux department. So be sure to learn. But understand the Linux operation is only basic, those commands, various services installation and configuration, as long as to use, it will be able to learn, nothing difficult. More important is the principle, the cornerstone of Linux, even if not learn at least to be clear, suggest that those orders will have to look at the TCP/IP protocol after the detailed, Apue. In this way, I call myself back-end development to be emboldened. I last year of PHP, is now inseparable from the operation of Linux, the personal view is: very necessary.
The answer to the above has already been mentioned. Software Testing